2016-10-11 3 views
1

새로운 PreDefinedSet을 만들 때마다 데이터베이스에 추가 한 모든 장비를 가져옵니다.Django Many Many Field

질문 : 어떻게 비워두면 여러 필드에있는 내용을 편집 할 수 있습니까?

내 목표는 클래스가 사용자가 미리 정의 할 수있는 장비 목록 인 곳을 만드는 것입니다. 나는 당신이 뭘 하려는지 볼 생각

class Equipment(models.Model): 

    name = models.CharField(max_length = 50) 

class PreDefinedSet(models.Model): 

    name = models.CharField(max_length = 100) 
    Equipments = models.ManyToManyField(Equipment) 
+0

"그립 모두 ... "? – McAbra

답변

0

: 여기

내 모델입니다. 귀하의 모델은 괜찮아 보입니다. - 내가 왜 PreDefinedSet에 관련 데이터가 추가 된 이유는 없습니다 (만약 당신이 거기서 우스꽝스러운 일을하지 않는다면).

eq = Equipment.objects.get(name='something') 
user_set = PreDefinedSet.objects.create(name='first_set') 

user_set.equipments.add(eq) 

user_set.equipments.all() # will return a QuerySet with one Equipment 

는 또한 다음과 같이 당신은 쿼리를 반전시킬 수있는에 related_name 덕분주의 사항 : : 이제 데이터를 조작 할 경우

class Equipment(models.Model): 
    name = models.CharField(max_length = 50) 

class PreDefinedSet(models.Model): 
    name = models.CharField(max_length = 100) 
    equipments = models.ManyToManyField(Equipment, related_name='sets') 

하는 방법에 대한
eq.sets.all() # will return a QuerySet of the sets that tool is in 

더 M2M 입력란을 조작하십시오. https://docs.djangoproject.com/en/dev/topics/db/models/#many-to-many-relationships