我想以给定的方式显示数据库中的数据:
用户
一组电子邮件
此刻我有类似的东西:
models.py
class Person(models.Model):
name = models.CharField(max_length=50)
surname = models.CharField(max_length=50)
objects = PersonManager()
class Email(models.Model):
person= models.ForeignKey(Person,editable=False,on_delete=models.CASCADE)
email= models.EmailField()
objects = EmailManager()
def __str__(self):
return self.email
class PersonManager(models.Manager):
def get_by_natural_key(self,name,surname):
return self.get(name=name,surname=surname)
在我的 views.py 中,我覆盖了 get_context_data()方法。
现在,在我的html文件中,我有:
{% for user in users %} //person
{% for email in user.email_set.all %}
{{ user.attr }}
{{ email }}
{% endfor %}
{% endfor %}
通过这种方式,订购不是通过用户而是通过电子邮件进行,例如:
装有
用户1
电子邮件1,电子邮件2
是
用户1
电子邮件1
用户1
email2
答案 0 :(得分:1)
您必须更改模板代码。使用以下代码:
{% for user in users %} //person
{{ user.attr }}
{% for email in user.email_set.all %}
{{ email }}
{% endfor %}
{% endfor %}