我在Django中有两个表,如下所示:
Table1:
- id
- name
- address
- state
- short_code
Table2:
- id
- table1_id
- p1, property (searchable field)
表1和表2之间的关系:Table1(1) -> Table2(n) [ 1->n ]
假设我在Table2中有一个可搜索的属性p1。如何从满足以下查询参数的Table1中获取所有行?
short_code(table1 field), state(table1 field), and property as p1(table2 field)
记住,Table1与Table2有1:n关系,因此Table2可以有多行满足Table1中字段id的外键关系。
您可以执行相关查找:
class MyModel1(models.Model):
model2 = models.ForeignKey('myapp.MyModel2', related_name='model1',...)
class MyModel2(models.Model):
fields...
现在你可以做:
MyModel1.objects.filter(model2__pk=YOUR_MODEL2_PK)
或
MyModel2.objects.filter(model1__pk=YOUR_MODEL_1_PK)
您可以限制.only()
返回的结果
注意:
查看多对一关系的文档
或者查询集的文档