2009-12-15 2 views
0

워드 프로세서 말 : Django : 중개 모델을 사용하여 다 대다 필드에 대해 다중 선택을 사용하는 방법이 있습니까?

하면, 관리자가 ManyToManyField에 디스플레이 기본적으로 위젯을 통해 인수를하지 않습니다 사용하여 중간 모델 를 지정합니다.

OK,하지만 어떻게 다중 선택 위젯을 원하는 경우는 어떻습니까?

class Quotation(models.Model): 
source = models.CharField() 
sourceLink = models.URLField(blank=True) 
text = models.TextField() 
site = models.ManyToManyField(Site, through="QuoteSite") 

및 중간 모델 : 내가 원하는 모든 관리자의 사용자가 자신의 견적 하나 개 이상의 사이트를 선택할 수있다

class QuoteSite(models.Model): 
entry = models.ForeignKey(Quotation) 
site = models.ForeignKey(Site) 
dateLastUsed = models.DateField(default=date(2000,01,01)) 

나는 모델이있다. 나는 중개 모델에서 datelast를 사용하여 필드를 편집 할 수 있는지 여부에 상관하지 않습니다.

이것이 불가능합니까?

답변

0

'site'm2m 필드를 'through'없이 정의하고 대신 QuoteSite 클래스에서 사용하는 것과 동일한 db_table을 지정하여 문제를 해결했습니다. Quote 클래스가 아니라 QuoteSite 클래스의 관리자를 사용하여 'TodaysQuote()'를 검색 했으므로 Quotation 클래스가 dateLastUsed에 대해 전혀 알 필요가 없습니다.