你有很多方法可以做到这一点,但感觉你的许多领域都走错了方向:
class Preorder(models.Model):
product = models.CharField(max_length=100, default='')
price = models.DecimalField(max_digits=12, decimal_places=2, default=None)
quantity = models.IntegerField(default=1, )
customer = models.ManyToManyField(Customer, blank=True, default=None)
def __str__(self):
return self.product
这样,您就有一个预订单和两个客户(John和Kim)-所以您不会复制预订单对象或用户对象!
views.py
:
def preorders(request, product):
context = {}
preorders = Preorder.object.filter(product=product)
return ...
在
urls.py
像这样的:
from django.conf.urls import url
urlpatterns = [
...
url(r'^preorders/(?P<product>\d+)/$', views.preorders, name='customer_preorders_by_product')),
...
]
以及你的模板:
{% for preorder in preorders %}
<ul>
preorder.product
<li>{% for customer in preorder.customer.all %}{{ customer }}{% endfor %}</li>
</ul>
{% endfor %}
希望有帮助?