2016-11-30 1 views
0

나는 장고를 처음 사용하고 있는데 어떤 문제가 발생했습니다 : 사용자가 사용자 모델 "UserGroup"에 연결할 수있는 웹 사이트를 준비하려고합니다 . 그룹) 그래서 그들은 ManyToManyField 관계로 회원이 될거야. 그러나 다른 그룹과 연결되어 있는지 여부에 관계없이이 그룹에 정보를 추가하고 싶습니다. 어떻게 그런 일을 할 수 있습니까? 나는 사용자 그룹 정의에서, 여기처럼이 일을 시도했다 :모델을 정의하는 동안 Django, ManyToManyField (모델)

related_groups = models.ManyToManyField('UserGroup', blank=True) 

을하지만, 분명히 나는이 방법은, 내가 마이그레이션하는 동안 몇 가지 문제를 얻고 있음을 수행 할 수 없습니다

django.core.exceptions.FieldDoesNotExist: UserGroup_related_groups has no field named 'from_usergroup '

나는 그것이 잘못된 사고 방식 때문일 수 있다고 생각합니다. 미리 도움을 주셔서 감사합니다! :)

+0

오류 및 전체 오류 추적을 재생하는 데 필요한 모든 코드를 입력하십시오 게시이에 제안한 것처럼. –

+0

** (a) ** 하나의 필드뿐만 아니라 전체 모델을 표시하고 ** ** (b) ** 문제를 설명 할 때 좀 더 구체적으로 기재하십시오. * "다른 그룹에 링크되어 있는지 여부에 관계없이이 그룹에 정보를 추가하십시오."* - 이것으로 무엇을 의미합니까? – yuvi

+0

@KlausD. 물론 전체 모델 (적어도 프로토 타입)은 다음과 같습니다. https://codeshare.io/GLOdpa – szopenak

답변

0
  1. 사용자 그룹에 대해 잘못된 클래스 이름을 사용하고 있습니다. 올바른 이름은 입니다. 그룹
  2. OneToOne 필드를 사용해야합니다.

그래서 당신과 같이 작성해야합니다 :

related_groups = models.OneToOneField('Group', blank=True) 

을 그리고 전에 그룹 모델을 수입하는 것을 잊지 마세요!

from django.contrib.auth.models import Group 

P. 두 가지 방법이 있습니다 : 1) 자신 만의 클래스 (ExtGroup)를 만들고 OneToOneField를 원래 그룹 클래스로 만드십시오. 당신은 아마이 길로 가려고했습니다. 2) 사용자 클래스 및 그룹 클래스를 사용하십시오. 여기

각 방법에 대한 정말 좋은 문서입니다 : https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#extending-the-existing-user-model

그리고 여기에 같은 질문에 대한 대답입니다 : Customize Django Group Model

는 희망이 도움)

+0

#yestema 네, 기본 제공 그룹에 대해 알고 있지만 제 상황이 좋은 사용법인지는 모르겠습니다. 저것을 위해 : 나는 생각한다, 그것은 moderators, admins, 직업적인 사용자 등등 같이 작은 다양성을 위해이다. 나는 독립적 인 모형으로 많은, 주문을 받아서 만들어진 그룹을 창조하고 싶다. 현재 붙어있는 문제는 관련 모델을 함께 연결하는 방법입니다. 전 모델 위에 게시했습니다. 여전히 도움을 받고 싶다면,저기서 둘러보십시오. – szopenak

0

사용 "자기"는 것을 나타 내기 위해 같은 클래스에 링크.

related_groups = models.ManyToManyField("self", blank=True)

는 SO Django Many-to-Many (m2m) Relation to same model

+0

감사합니다! 그게 내가 가진 상황이야.하지만 여전히 ** 나는 오류 메시지를 받았다. ** ... related_groups = models.ManyToManyField ("self", blank = True)'에 줄을 바꾼다. 마이그레이션 입력 직후 : https://codeshare.io/5O6gx2 – szopenak

+0

Django 버전은 무엇입니까? –

+0

db와 각 마이그레이션 파일을 삭제하고 다시 한번 초기화하려고했으나 마이그레이션이 원활하게 진행되었지만 관리자 패널에서 UserGroup을 추가하는 중 다시 충돌이 발생했습니다 ... https://codeshare.io/2jPnPa django를 사용하고 있습니다. 1.10.3 버전. – szopenak

관련 문제