我有关于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才会获取名称。
答案 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})