2011-08-17 55 views
0

我有以下model.py文件,其中Charges模型具有M2M現場農場和中間模型成員如何在管理界面中顯示M2M模型的中介字段?

class Farm(models.Model): 
    farmNo = models.CharField(max_length=100) 
    size = models.CharField(max_length=50) 
    description = models.TextField() 

class Charges(models.Model): 
    chargeDescription = models.TextField(verbose_name="Description") 
    chargeType = models.CharField(max_length=10,choices=CHARGE_TYPE) 
    farms = models.ManyToManyField(Farm,through='Membership') 

    class Meta: 
     verbose_name_plural = "Charges" 

class Membership(models.Model): 
    farm = models.ForeignKey(Farm) 
    charges = models.ForeignKey(Charges) 
    paymentDate = models.DateField() 
    paymentStatus = models.BooleanField(default=False) 

我的問題是,當我使用Django管理應用程序的收費模式創建新對象「農場」 M2mM領域多年平均值出現並且這樣,我不能指定收費farms.I很奇怪,爲什麼小部件不顯示出來,以及如何再次顯示該小部件,供用戶在創建費用時選擇農場。

我試着重寫def formfield_for_manytomany(self, db_field, request=None, **kwargs):這個方法導致widget不顯示在屏幕上,但仍然沒有出現在屏幕上。

請幫 感謝

回答

1

它不會因爲它不能沒有收集會員的附加數據添加一個農場。你必須使用內聯,但即使如此,你也必須內聯成員,而不是內聯。

然後,您可以選擇一個現有的農場或以正常的方式在您添加的每個會員資格上創建一個新的農場。

+0

全谷歌有許多不同的答案,這是做到這一點的正確方法。 – 2012-09-13 19:23:47

相關問題