【发布时间】:2013-06-17 14:19:07
【问题描述】:
当我将布尔字段添加到作为内联到主模型中的直通成员身份时,我的行为很奇怪。保存后,它会随机将该字段显示为 True/False。不管数据库上有什么。
class Project(models.Model):
# Relations with other entities.
employees = models.ManyToManyField('staff.Person', through='project.PersonProjectMembership',
related_name='projects')
class PersonProjectMembership(models.Model):
project = models.ForeignKey('project.Project', related_name="person_memberships")
person = models.ForeignKey('staff.Person', related_name="project_memberships")
lead = models.BooleanField(default=False)
class ProjectAdmin(TranslationAdmin, ModelAdmin):
inlines = (PersonProjectMembershipInline,)
class PersonProjectMembershipInline(TranslationStackedInline, admin.StackedInline):
model = Project.employees.through
extra = 1
formset = PersonProjectMembershipInlineFormSet
class PersonProjectMembershipInlineFormSet(BaseInlineFormSet):
def clean(self):
# [...]
有什么想法吗?
【问题讨论】:
-
你提到的布尔字段在哪里?
-
我只是忘了添加“通过”类。谢谢!
-
您确定每次都检索到同一个对象吗?由于没有指定顺序,它可能是不同的对象。因此差异
-
是的,相同的项目和相同的员工,但属性“lead”的值不同。我对其他“通过”模型也有同样的问题......
标签: django django-models django-admin