django-在views.py中将两个表合并为一个,以便在模板中使用

django-在views.py中将两个表合并为一个,以便在模板中使用,django,django-views,django-templates,Django,Django Views,Django Templates,有两种模式: class Person(models.Model): id = models.IntegerField(primary_key=True) firstname = models.CharField(max_length=100) lastname = models.CharField(max_length=100) class Size(models.Model): title = models.CharField(max_length=100)

有两种模式:

class Person(models.Model):
    id = models.IntegerField(primary_key=True)
    firstname = models.CharField(max_length=100)
    lastname = models.CharField(max_length=100)

class Size(models.Model):
    title = models.CharField(max_length=100)
以下是其中的数据: 表A:

表B:

+---+-----+
| 1 | X   |
+---+-----+
| 2 | XL  |
+---+-----+
| 3 | S   |
+---+-----+
| 4 | XXL |
+---+-----+
我想在模板中得到的结果如下:

+---+--------+-------+-----+
| 1 | Alex   | King  | X   |
+===+========+=======+=====+
| 2 | Jo     | Ford  | XL  |
+---+--------+-------+-----+
| 3 | Bill   | Arm   | S   |
+---+--------+-------+-----+
| 4 | Donald | Black | XXL |
+---+--------+-------+-----+
{% for field in combined %}
   <td>{{ field.id }}</td> 
   <td>{{ field.firstname }}</td>
   <td>{{ field.lastname }}</td>
   <td>{{ field.title }}</td>
{% endfor %}
外键是id。 我知道annotate可能在这里工作,但我不知道如何使用它,而且互联网上的例子也不太清楚。 我想在for循环中使用它来获得如下结果:

+---+--------+-------+-----+
| 1 | Alex   | King  | X   |
+===+========+=======+=====+
| 2 | Jo     | Ford  | XL  |
+---+--------+-------+-----+
| 3 | Bill   | Arm   | S   |
+---+--------+-------+-----+
| 4 | Donald | Black | XXL |
+---+--------+-------+-----+
{% for field in combined %}
   <td>{{ field.id }}</td> 
   <td>{{ field.firstname }}</td>
   <td>{{ field.lastname }}</td>
   <td>{{ field.title }}</td>
{% endfor %}
{%用于组合%]中的字段
{{field.id}
{{field.firstname}
{{field.lastname}
{{field.title}}
{%endfor%}
views.py中应该包含哪些内容来组合这两个表并将结果传递给模板?

“我知道注释可能在这里起作用”,这就是您的答案。让我给你一个提示,使用子查询来注释这些值。