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))

显然,这是行不通的,因为没有可用的“自我”的实例,但你可以看到什么,我想在这里做。我有一个系统,你可以有一个帐户即可。您的帐户可以有客户,然后客户端可以创建门票。我显然不希望帐户持有人能够登入系统,并创建了票,并将其分配给账户持有人B的客户端。我将如何限制这样的选择,还是我要对这个摆在首位全错了?

有帮助吗?

解决方案

做你的帐户持有人使用Django管理界面或您的普通自定义视图来分配门票? 如果是第二种情况,应该使用定制的ModelForm。

其他提示

ForeignKey.limit_choices_to 允许

另一个选择是覆盖模型的save()方法来检查它(如果关系太复杂,指定limit_choices_to允许的方式。我不认为你需要在你的情况下)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top