Django中的模型问题与外键

时间:2016-03-18 13:37:23

标签: python django

我有关于Django的项目,我需要创建一个模型,如果某个值为真,它将是其他的外键。

我会试着解释一下。 我有一些模特:

class SomeClass(models.Model):
    def __unicode__(self):
        return unicode(self.name)
    boolean = models.BooleanField(default=1
    name = models.CharField(max_length=64, unique=True)

class SomeClass2(models.Model):
    def __unicode__(self):
        return unicode(self.name)
    child_item = models.ForeignKey(SomeClass, to_field='name')

我必须做的事情然后,只有当布尔值为True时,child_item才会获取名称。

1 个答案:

答案 0 :(得分:1)

您可以使用limit_choices_to限制外键选择:

class SomeClass(models.Model):

    def __unicode__(self):
        return unicode(self.name)

    boolean = models.BooleanField(default=1)
    name = models.CharField(max_length=64, unique=True)

class SomeClass2(models.Model):

    def __unicode__(self):
        return unicode(self.name)

    child_item = models.ForeignKey(SomeClass, to_field='name',
                                   limit_choices_to={'boolean': True})