我想在一个QuerySet中将来自两个不同模型的属性(它们与ForeignKey连接)组合在一起以在表中显示它们。我尝试使用select_related连接它们,但是,模型B中的属性不会出现在我的QuerySet中,也不能在我的表中显示它。我究竟做错了什么?如何添加属性" name"从模型A到我的QuerySet?你能帮我么?提前致谢
view.py
A.objects.select_related('b_id').filter(a_id__in='abcde')
models.py
class B(models.Model):
b_id = models.CharField(max_length=20, primary_key=True, unique=True)
name = models.CharField(max_length=80)
size = models.CharField(max_length=10)
class A(models.Model):
a_id = models.CharField(max_length=20, primary_key=True, unique=True)
text = models.CharField(max_length=254)
b_id = models.ForeignKey(B)
html的
{% for entry in set %}
<tr> <td> {{entry.a_id}} </td>
<td> {{entry.text}} </td>
<td> {{entry.name}} </td></tr>
答案 0 :(得分:0)
select_related()
没有合并两个模型的字段。您应该使用此代码显示外键name
的{{1}}属性:
b_id
答案 1 :(得分:0)
根据我的理解,您需要通过外键显示与A类相关的B模型实例。
你的views.py:
A.objects.filter(a_id__in='abcde')
你的HTML:
{% for entry in set %}
<tr> <td> {{entry.a_id}} </td>
<td> {{entry.b_id.text}} </td>
<td> {{entry.b_id.name}} </td></tr>