Мои models.py
:Использование дополнительных полей через M2M на шаблоне
class Profile(models.Model):
name = models.CharField(max_length=32)
gender = models.CharField(max_length=1, choices=(('m', 'male'),
('f', 'female')), default='m')
addresses = models.ManyToManyField(City,
related_name='user_city', through='User_City')
class User_City(models.Model):
user = models.ForeignKey(Profile)
address = models.ForeignKey(City)
phone = models.CharField(max_length=32)
class Meta:
unique_together = ("user", "address")
Мои view.py
:
def user_profile(request, city):
a=Profile.objects.filter(addresses=city)
context_dict['lista'] = a
###first alternative:
#b=User_City.objects.filter(user=request.user, address=city)
#context_dict['lista_address'] = b
###second alternative:
#for c in a:
#b=User_City.objects.filter(user=c, address=city)
#c.phone=b.phone
#context_dict['lista_address'] = c
Мои template.html
:
{% for user in lista %}
{{ user.name }}
{{ user.gender}}
{{ user.phone }}
#{{ user.addresses.phone }}
#{{ user.addresses__phone }}
{% endfor %}
Он прочитал имя и пол, но не телефон ... Я пробовал много решений, но не avai л.
Я могу добавить lista_address context_dict, но тогда я не знаю, как использовать в шаблоне (я должен найти нужного пользователя в цикле for).
Я мог бы добавить некоторый атрибут в представление, но он не работает (атрибут не существует).
Спасибо за помощь