【问题标题】:Django: Displaying set of related data to current userDjango:向当前用户显示一组相关数据
【发布时间】:2019-06-09 21:41:31
【问题描述】:

我想以给定的方式显示我的数据库中的数据:

用户

电子邮件集

此时我有这样的事情:

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

email1、email2

用户1

email1

用户1

email2

【问题讨论】:

  • 你有什么问题?

标签: django django-orm related-content


【解决方案1】:

您必须更改模板代码。使用以下代码:

{% for user in users %} //person
    {{ user.attr }} 
    {% for email in user.email_set.all %}        
        {{ email }}   
    {% endfor %} 
{% endfor %}  

【讨论】:

    猜你喜欢
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2019-09-25
    • 2023-01-17
    • 2014-09-17
    • 1970-01-01
    相关资源
    最近更新 更多