【问题标题】:django admin and inlinesdjango 管理员和内联
【发布时间】: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


【解决方案1】:

已经有一段时间了。问题出在某个验证器中,我在其中覆盖了 PersonProjectMembership.lead 值。

【讨论】:

    猜你喜欢
    • 2015-06-21
    • 1970-01-01
    • 2011-06-02
    • 2013-03-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    相关资源
    最近更新 更多