需要以某种方式将模型ForeignKey限制为可用选项之一。 这是我的模特:
class CustomCompany(models.Model):
name = models.CharField(max_length=30,
default=None,
unique=True
)
teams = ListCharField(
base_field=models.CharField(max_length=15),
size=15,
max_length=(15*16),
default=["Owners"],
unique=True
)
class CustomUser(AbstractUser):
company = models.ForeignKey(CustomCompany,
on_delete=models.CASCADE,
default='None',
to_field='name',
related_name='company'
)
team = models.ForeignKey(CustomCompany,
on_delete=models.CASCADE,
default='Owners',
to_field='teams',
related_name='team',
)
因此,我遇到了“团队”模型的问题。 使团队模型分配具有所有选择,但是我只想从可用选项中选择一个。 有人遇到这个问题吗?是否可以将此ForeignKey限制为仅一个选择?谢谢
答案 0 :(得分:0)
AFAIK,您不能在数据库级别限制它。外键定义为从一个数据库表的一行到另一数据库表的一行的关系。较高级别代码的责任是确保创建这种关系是明智的。
您可以在Django表单中限制用户可用的选择。您对queryset
使用ModelChoiceField
参数。 See this answer.