Это то, что я имел раньше (но понял, что вы не можете сделать это, очевидно, в следующем порядке:Как я должен построить эту модель Django, чтобы делать то, что я хочу
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)
Я думаю, что вы можете увидеть, что я хочу сделать из примера.Я хочу иметь MasterAccountAdmin, который разделяет атрибуты из AccountAdmin. Целью является то, что я хочу дать людям возможность удалить AccountAdmin, но не MasterAccountAdmin. Я не хотел просто иметь атрибут на AccountAdmin называется «master = models.BooleanField()».
Очевидно, что этот пример не будет работать, потому что MasterAdmin ссылается на AccountAdmin befo но я хотел показать, чего я пытаюсь достичь. Я думаю, что все это неправильно?
-1: Действительно плохой вопрос. Можете ли вы исправить название, чтобы быть вашим реальным вопросом? Возможно, «Как определить три модели с круговыми ссылками» или что-то, что описывает проблему. –
Это достойный титул, если вы прочитали вопрос, прежде чем сосредоточиться на коде. Я не спрашиваю, как технически достичь того, что говорит мой код. Я спрашиваю, что является хорошим способом написать модель (по сравнению с моим путем) для достижения цели высокого уровня, которую я пытаюсь достичь. – orokusaki