[英]How to correct limit values in Django models
請幫助了解如何更正“公司”團隊對“團隊”字段的限制?
這是我的代碼:
class CustomCompany(models.Model):
company_name = models.CharField(max_length=30,
default="None",
unique=True
)
class CustomTeam(models.Model):
team_name = models.CharField(
max_length=30,
default="None"
)
company_name = models.ForeignKey(CustomCompany,
on_delete=models.CASCADE,
related_name='company_name+',
to_field='id',
)
class CustomUser(AbstractUser):
phone = models.CharField(max_length=20, blank=True)
company = models.ForeignKey(CustomCompany,
on_delete=models.CASCADE,
default='None',
to_field='company_name',
related_name='company'
)
team = models.ForeignKey(CustomTeam,
on_delete=models.CASCADE,
default=1,
related_name='team_name+',
limit_choices_to={"company_name_id":"company_id"},
)
最后一個字符串中的問題(limit_choices_to)如何更正此問題,並按公司限制團隊?
當前錯誤,如果需要下一個:
以10為底的int()無效文字:“ company_id”
考慮到CustomTeam
已經屬於CustomCompany
,您是否考慮過刪除字段CustomUser.company
並僅使用CustomUser.team.company
?
這些模型幾乎保持不變:
class CustomCompany(models.Model):
...
class CustomTeam(models.Model):
...
company = models.ForeignKey(CustomCompany, ...)
class CustomUser(AbstractUser):
...
team = models.ForeignKey(CustomTeam, ...)
一些注意事項:
ForeingKey
不應將int
作為默認值,它必須是模型實例; 我只是將默認值排除在模型定義之外。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.