Django:向当前用户显示一组相关数据
Django: Displaying set of related data to current user
我想以给定方式显示我的数据库中的数据:
用户
一组电子邮件
此刻我有这样的事情:
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
email1
用户 1
email2
您必须更改模板代码。使用以下代码:
{% for user in users %} //person
{{ user.attr }}
{% for email in user.email_set.all %}
{{ email }}
{% endfor %}
{% endfor %}
我想以给定方式显示我的数据库中的数据:
用户
一组电子邮件
此刻我有这样的事情:
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
email1
用户 1
email2
您必须更改模板代码。使用以下代码:
{% for user in users %} //person
{{ user.attr }}
{% for email in user.email_set.all %}
{{ email }}
{% endfor %}
{% endfor %}