해결됨: django는 그룹에 사용자를 추가합니다.

주요 문제는 django가 현재 그룹에 사용자 추가를 지원하지 않는다는 것입니다.

I am trying to add a user to a group in Django. I have tried the following code:
<code>group = Group.objects.get(name='group_name') 
user = User.objects.get(username='user_name') 
user.groups.add(group) 
</code>
But this does not work and I get the following error: 
<blockquote>
<p>'ManyRelatedManager' object has no attribute 'add'</p>
</blockquote>


A:

 Try this code :-   user = User.objects.get(username='user_name') group = Group.objects.get(name='group_name') user .groups .add (group)   Or you can use this :-   from django import forms class AddUserForm (forms .Form): username = forms .CharField () groups = forms .ModelMultipleChoiceField (queryset=Group .objects .all ()) def save (self): u = User .objects .create_user (self .cleaned_data ['username'], '' ,'') u .save () u .groups= self['groups'] return u form=AddUserForm() form['username']="test" form['groups']=[1] form["save"]()    For more information please check here:- https://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users https://docs.djangoproject.com/en/dev/topics/auth/#working-with-users https://docs.djangoprojectsdfsdfsdffsdfsdfsdffsdsdffsdffsfdsfdsfdsfsdfsfdsfdsfsdffsfdddddddddddddddddssssssssssssssfffffffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkkkkkkkkklllllllllmmmmmmmmmnnnnnnnnooooooooppppppqqqqqqqrrrrrrrssstttuuuuvvwwxxyyzz|||||||||||||||||||||||||||||222222222222211100000000000000000000000000000000000000000000000444444444333333333333311111111111111112212212121212122222444445555566666666777777888888999999999999900000000000000000000000000111111111111222222333333333344444455556666666677788899999999999000000000000000000000000001111111110000000000000000000000000 222 222 333 444 555 666 777 888 999 000 111 222 333 444 555 666 777 888 999 000 111 222 333 444 555 666 777 888 999 000 111 222 333 444 555 666 777 888 999 000 111 222 333 444 555 666 777 888 999 000 111 222 333 444 555 666 777 888 999 000 111 222 333 444 555 666 777 888 999 000 111 222 333 444 555 666777888999000 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440441 442 443444 445446447 448449 450451 452453454 455456457 458459 46046146246346456 56656856957157257357457 57578579 5805815825835845855865875885995 905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696776776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798809818298328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698709 71972973974 974975976 97797988098182983283383483583683783883984084184284384484584684784884985085185285385485585685 7587 6887 6907 7017 7027 7037 704705 7057 0677 0687 0697 0707 0717 0727 0737 0747 0757 0767 0777 0787079708 97089709 971972973974975976797897889790809810821822823824825826827828829830931932933934935936937938939940941942943944945946947948949950951952953954955957958959960961962963964965966967968969970971972973974975967968979080901091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994194194294394494594694794894994195295395495595795895994196296396496596696796896994197297397497596796897908090109119129139149159169179189199209219229239249259269279289299309319329339349359369379389390409140924093409490509519529539549559579589599060916092609360946 09 560 96 609760 98 60990 610911092110921111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115 215315415515615715815916016116 2263264265266267

268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495595695795895996096196296396496596696796896997097197297397497596796897908090109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399040914092409340949050951952953954955957958959906091609260936 09 460 96 609760 98 60990 610911092110921111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115 215315415515615715815916016116 22632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922 93 29 429 530 63 6 3 7 3 8 3 9 340 441 54255 356357 35835 93 60 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 40240 340 440 540 640 7407 508 608 708 808 908 00911 019 12019 21019 31019 41019 51019 61019 710198110 198 210 298 310 398 410 498 510 598 610 698 710798 810 898 910 998 1100 1101 119 12001 29 1300 1301 14001 49 1500 1501 1600 1601 1700 1701 1800 18010 1901 2000 2001 2100 21010 2201 2300 23010 240010 250010 260010 270010 280010 290010 300010 310010 320010 330010 340010 3500 10 360001 370001 380001 390001 400010 410010 4200 10 43000 10 44000 10 45000 10 460000 470000 480000 490000 500000 510000 520000 530000 540000 550000 5600007 5700007 5800007 5900007 600000 61 0000 620000 63 0000 64 0000 65 0000 66 0000 67 00 68 00 69 00 700 7070717072707370747 0757 0767 0777 0787079708 97089709 9719729739749759767978978897908098108118 128 138 148 158 168 178 188 198 20821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857585876086618726732683268637648658768876907701770277037704705706707708709710171027103 7117 127 137 147 157 167 177 187 197 20721722723724725726727728729730731 73273283293303132333334335336337338339 340 34134234333 43354355 356357 358359 36036136236333 6 33 64365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390391 392 393394 395 396397 398399400401 40240 340 440 540 640 7407 508 608 708 808 908009 11 019 12019 21019 31019 41019 51 0196101971018 110 198 210 298 310 398 410498 510 5985 105 115 125 135 145 155 165 175 185 195 205 215 225 235 245 255 265 275 285 295 305 315 325 335 345 355 365 375 385 395 405 415 425 435 445 455 465 475 485 495 505 515 525 535 545 555565575585595605 615625635645 655665685695705 7157257357457 55555555666666667777778888889999999999900000000000000000000000011111111111112 222 222 333 444 555 666 777 888 999 000 111 222 333 444 555 666 777888 999 000 111 222 333 444 555 666 777888 999 000 111 222 333 444 555 666777888999 000 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381382 383 384 385 386 387 388 389 390391 392393394395 396397398 399400401 40240 340 440 540 640 7407 508 608708 808 908009 11 019 12

사용자 그룹

Django 프로젝트 내에서 사용자 그룹을 구성하고 관리하는 가장 좋은 방법은 프로젝트의 특정 요구 사항에 따라 다르기 때문에 이 질문에 대한 만능 답변은 없습니다. 그러나 Django 프로젝트에서 사용자 그룹을 만들고 관리하는 방법에 대한 몇 가지 팁에는 프로젝트 설정 파일 내에 전용 "사용자 그룹" 모듈 만들기, 그룹 구성원 관리를 위한 관리 패널 설정, 리소스 및 지원을 제공하여 그룹 참여 장려 등이 있습니다.

그룹 작업 방법

Django에서 그룹 작업은 그룹 모델을 사용하여 수행됩니다. 그룹은 단일 단위로 취급될 수 있도록 모델을 함께 그룹화하는 방법입니다.

Django에서 새 그룹을 만들려면 그룹 모델의 create() 메서드를 사용합니다. 이 메서드는 임의의 이름을 인수로 사용하고 해당 이름으로 새 그룹을 만듭니다.

그룹을 만든 후에는 그룹을 사용하여 그룹 내에서 모델을 관리할 수 있습니다. 이렇게 하려면 먼저 add() 메서드를 사용하여 모델을 그룹에 추가해야 합니다. 이 메서드는 모델 이름과 그룹 이름의 두 가지 인수를 사용합니다.

모델이 그룹에 있으면 get_all_models() 메서드를 사용하여 모든 모델 목록을 가져올 수 있습니다. get_by_name() 메서드를 사용하여 그룹 내에서 특정 모델을 가져올 수도 있습니다.

그룹의 권한

권한은 프로젝트 및 사용자의 특정 요구 사항에 따라 달라질 수 있으므로 이 질문에 대한 정답은 없습니다. 그러나 Django 프로젝트에서 권한을 관리하는 방법에 대한 몇 가지 일반적인 팁은 다음과 같습니다.

모델을 생성할 때 모델이 부여하는 권한을 지정해야 합니다. 예를 들어 모델에서 사용자가 새 항목을 추가할 수 있도록 허용하는 경우 항목을 편집할 수 있는 권한도 포함되어 있는지 확인하십시오.

보기 또는 컨트롤러를 만들 때 사용자 입력이 필요한 작업(예: 만들기 또는 업데이트)에 대한 권한 확인을 포함해야 합니다. 이렇게 하면 인증된 사용자만 이러한 작업을 수행할 수 있습니다.

특정 데이터에 대한 액세스를 허용해야 하지만 사용자가 수정할 수 없도록 하려면 액세스하려는 데이터만 포함하는 사용자 지정 보기 또는 모델을 만들 수 있습니다.

관련 게시물:

코멘트 남김