メイン モデルにインラインとして含まれているスルー メンバーシップに booleanfield を追加すると、奇妙な動作が発生します。保存すると、フィールドが True/False としてランダムに表示されます。DBに何があるかは関係ありません。
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):
# [...]
何か案が?