これは私が以前持っていたものです(しかし、明らかにこの順序でそれを行うことはできないことに気づきました:
class MasterAdmin(models.Model):
"""
A permanent admin (one per Account) that shouldn't be deleted.
"""
admin = models.OneToOneField(AccountAdmin)
class Account(models.Model):
"""
A top-level account in the system.
"""
masteradmin = models.OneToOneField(MasterAdmin)
class AccountAdmin(models.Model):
"""
An Account admin that can be deleted. This includes limited permissions.
"""
account = models.ForeignKey(Account)
例から私がやりたいことがわかると思います。AccountAdminの属性を共有するMasterAccountAdminが必要です。目的は、MasterAccountAdminではなくAccountAdminを削除できるようにすることです。AccountAdminに「master=models.BooleanField()」という属性を付けたくありませんでした。
MasterAdminは作成前にAccountAdminを参照しているため、この例は明らかに機能しませんが、私が達成しようとしていることを示したかったのです。私はこれをすべて間違っていると思っていますか?