这是我到目前为止所拥有的。

models.py

class Company(models.Model):
    company_name = models.CharField('Company', max_length=40, unique=True)
    company_type = models.CharField('Type', max_length=20, null=True, blank=True)

class MyUser(AbstractBaseUser):
    email = models.EmailField(max_length=80, unique=True)
    first_name = models.CharField('First Name', max_length=25)
    last_name = models.CharField('Last Name', max_length=25)
    company = models.ForeignKey(Company,limit_choices_to *********

class Organization(models.Model):
    owner = models.ForeignKey(Company, null=True, related_name='owner')
    client = models.ForeignKey(Company, null=True, related_name='client')


我希望当前用户(已登录的用户)为作为其公司客户的公司创建用户。

所以,我的猜测是

MyCompany = request.user.company
company = models.ForeignKey(Company, limit_choices_to=(Organization__owner="MyCompany"))


任何帮助是极大的赞赏。
提前致谢。

最佳答案

无法使用limit_choices_to在数据库级别动态定义它。您只需要在表单/视图等上定义它即可。即使用modelchoicefield

关于python - 根据跨关系的查找将选择限制为外键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32405117/

10-13 08:30