python - Django ManyToManyField 字段數(shù)據(jù)在 admin后臺(tái) 顯示不正確,這是怎么回事?
問題描述
class Project(models.Model): '''項(xiàng)目的model定義''' REL_CHOICES=((’是’,’已發(fā)布’),(’否’,’未發(fā)布’),) proid = models.CharField('項(xiàng)目編號(hào)',max_length = 20,primary_key = True) proname = models.CharField('項(xiàng)目名稱',max_length = 25) prostarttime = models.DateField('項(xiàng)目開始時(shí)間') prorelease = models.CharField('是否已發(fā)布',max_length = 5,choices = REL_CHOICES) proreltime = models.DateField('項(xiàng)目發(fā)布時(shí)間') proparticipants = models.ManyToManyField(User)#參與人員 proplantime = models.IntegerField('計(jì)劃周期:天') prodataids = models.ManyToManyField(Data,blank=True)#屬于本項(xiàng)目的數(shù)據(jù)id class Meta:verbose_name=’項(xiàng)目信息’verbose_name_plural=’項(xiàng)目信息’permissions = ( #自定義的特殊權(quán)限 ('can_drive', '自定權(quán)限1'), ('can_vote', '自定權(quán)限2'), ('can_drink', '自定權(quán)限3'),) def __str__(self):return self.proname#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我本以為是像這樣的
可編輯的
但是最后結(jié)果卻是proparticipants和prodataids那里自動(dòng)地就把所有的用戶和所有的數(shù)據(jù)全都關(guān)聯(lián)上了,且只能添加新的,不能增刪修改,這是怎么回事?求大神指點(diǎn)。
問題解答
回答1:終于解決了這個(gè)問題,在此找到的:http://stackoverflow.com/ques...可以看一看。
回答2:django的admin后臺(tái)對(duì)manytomanyfield字段的渲染效果即是如此。
關(guān)聯(lián)的數(shù)據(jù)在別的表進(jìn)行刪除和修改。如果想實(shí)現(xiàn)自己的想法,應(yīng)該自己定制。
回答3:你需要覆蓋默認(rèn)樣式
參考
https://github.com/django/dja...
https://github.com/django/dja...
相關(guān)文章:
