Поэтому у меня есть эти модели:Джанго, фильтр несколько значений
Bands(models.Model):
mgmt = models.ForeignKey(User)
name = models.Charfield(max_length=200)
Contracts(models.Model):
band = models.ForeignKey(Bands)
start_date= models.DateField()
BookedGig(models.Model):
for = models.ForeignKey(Bands)
under= models.ForeignKey(Contracts)
date = models.DateField()
Как бы я построить что-то в моем views.py файл, чтобы захватить все BookedGigs для пользователя? Моя цель - просто отобразить через шаблон, различные концерты под заголовком контактов/диапазонов .
в views.py я в настоящее время
def Home(request):
user = request.user
bands = Bands.objects.filter(mgmt=user).order_by('name')
#This will give me the bands belonging to a user
contracts = Contracts.filter(band=bands)
#But here bands is not one value but a queryset.
#if I try
contracts = bands.booked_gig_set.all()
I get 'QuerySet' object has no attribute 'booked_gig_set'
шаблоны: Я знаю, что это неправильно, но это, как я хотел бы, чтобы отобразить список.
{% for b in bands %}
Band:{{b.name}}
{% for c in contracts %}
Contract Start:{{c.start_date}}
{% for g in gigs %}
{{g.dates}}
{% endfor %}
{% endfor %}
{% endfor %}
Благодаря
Просто проверите, вы имеете в виду это с «.объектами» между справа? – theptrk
@Patrick Упс, извините: да. –
Я новичок в Django, но должен ли вы использовать поле ManyToMany? https://docs.djangoproject.com/ru/dev/topics/db/examples/many_to_many/ – pfrank