簡體   English   中英

如何在Django模型中更正極限值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM