根据跨越关系的查找限制对外键的选择

时间:2015-09-04 19:15:47

标签: python django django-models foreign-keys

这是我到目前为止所做的。

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"))

非常感谢任何帮助。 在此先感谢。

1 个答案:

答案 0 :(得分:1)

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