Django-limit_choices_to使用2个不同的表

时间:2016-06-24 21:39:16

标签: python django django-models

我担心我想做的事情可能是不可能的,但我们走了:

在我的模特中,我有以下

Class ParentCategory(models.Model):
    name = models.CharField(max_length=128)

    def __unicode__(self):
         return self.name 
Class Category(models.Model):
    parentCategory = models.ForeignKey(ParentCategory, on_delete=models.CASCADE, )
    name = models.CharField(max_length=128)

    def __unicode__(self):
        return self.name

Class Achievement(models.Model):
    milestone = models.ForeignKey(Milestone, on_delete=models.CASCADE)
    description = models.TextField( )
    level_number = models.IntegerField()
    completeion_method = models.ForeignKey(Category, on_delete = models.CASCADE, limit_choices_to={'parentCategory.name':'comp method'})

    def __unicode__(self): # TODO: 
        return description[0,75] + '...'

我知道complete方法字段会抛出错误,因为它的语法不正确。但有没有办法用类似的方法实现想要的结果?

1 个答案:

答案 0 :(得分:1)

也许这会奏效:

select