-1

我有模型如

class Model1(models.Model):
    f1 = models.DateField(null=True, blank=True)
    f2 = models.CharField(max_length=100,null=True, blank=True)
    f3 = models.CharField(max_length=100,null=True, blank=True)

class Model2(models.Model):
    x = models.ForeignKey(Model1)
    f4 = models.CharField(null=True, blank=True)
    f5 = models.CharField(max_length=100,null=True, blank=True)

和我的admin.py阅读

class Model2Inline(admin.TabularInline):
    model = Model2
    search_fields = ('f5',)
    extra = 1
class Model1Admin(admin.ModelAdmin):
    list_display = ('f1', 'f2')
    search_fields = ['f1']
    inlines = [Model2Inline]

我希望根据字段的特定值过滤 Model1f4

就像是

results = Model1.objects.filter(where f4 = "some_specific_value")

这旨在产生一个包含 Model1 实例的查询集,其中内联 Model2 将f4设置为some_specific_value

谢谢!

4

1 回答 1

0

这应该工作(编辑,感谢@DanielRoseman 指出我错过了什么):

results = Model1.objects.filter(model2_set__f4="some_specific_value")

您还可以给ForeignKey属性一个related_name关键字参数,以便您可以Model2通过Model1model2_set.

请参阅https://docs.djangoproject.com/en/2.1/topics/db/queries/#related-objects上的文档

于 2018-10-09T09:32:46.210 回答