0
프로젝트에 다음과 같은 모델이 있습니다. 하나의 사이트에는 많은 지불 프로세서가 있고 하나의 지불 프로세서 (Paypal, Payza 등)는 여러 사이트에 속할 수 있습니다.장고에있는 템플릿에 ManyToManyField를 표시하십시오.
# Models.py
class Sites(models.Model):
name = models.CharField(max_length=75)
link = models.CharField(max_length=150)
description = models.TextField(blank=True, null=True)
def __str__(self):
return self.name
class PaymentProcessors(models.Model):
name = models.CharField(max_length=75)
def __str__(self):
return self.name
class Sites_PaymentProcessors(models.Model):
site = models.ManyToMany(Sites)
payment_processor = models.ManyToMany(PaymentProcessors)
보기 :
# View
def home(request):
site_list = Sites.objects.order_by('-date_launched')
processors_list = PaymentProcessors.objects.all()
return render_to_response('index.html', {'site_list': site_list,
'payment_processors_list': processors_list},
RequestContext(request))
템플릿 내가 특정 사이트에 속하는 모든 지불 프로세서를 표시 할
# Template
{% for site in site_list %}
{% for payment_processor in payment_processors_list.site.all %}
{{ payment_processor }}
{% endfor %}
{% endfor %}
. 필터를 사용하려고했지만 작동하지 않습니다. 내가 장고에 익숙하지 않은, 나는 설명서를 읽고 StackOverflow에 대한 답변을 볼려고했는데, 내가 제대로 작동하는지에 대해 잘 모르겠다.