Django: отображение набора связанных данных для текущего пользователя - PullRequest
0 голосов
/ 10 июня 2019

Я хочу отображать данные из моей базы данных заданным образом:

Пользователь

набор электронных писем

Вв этот момент у меня есть что-то вроде этого:

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 () method.

Теперь у меня в html-файле есть:

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

Таким образом, заказ осуществляется не пользователем, а по электронной почте, например:

insted of

user1

email1, email2

is

user1

email1

user1

email2

1 Ответ

1 голос
/ 10 июня 2019

Вы должны изменить код шаблона.Используйте код ниже:

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