Django的:ForeignKey的选择与= Customer.objects.filter(账号= self.account)
-
21-09-2019 - |
题
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允许的方式。我不认为你需要在你的情况下)。
不隶属于 StackOverflow