class Ticket(models.Model):
"""
An order placed by a customer.
"""
account = models.ForeignKey(Account)
client = models.ForeignKey(Client, choices=Client.objects.filter(account=self.account))
显然这不起作用,因为没有可用于“自我”的实例,但你可以看到我在这里尝试做什么。我有一个系统,您可以拥有帐户。您的帐户可以拥有客户,客户可以创建门票。我显然不希望帐户持有人A能够登录系统并创建票证并将其分配给帐户持有人B的客户。我如何限制这样的选择,或者我首先想要解决这个问题?
答案 0 :(得分:1)
ForeignKey.limit_choices_to允许这样做。
另一种选择是覆盖模型的save()方法来检查它(如果关系太复杂,无法指定limit_choices_to允许的方式。我不认为你的情况会需要它。)
答案 1 :(得分:1)
您的帐户持有人是否使用django管理界面或您的普通自定义视图来分配票证? 如果是第二种情况,则应使用自定义ModelForm。