我正在建立一个系统来跟踪客户订购产品,购买日期,价格等所有订单。
如果我希望能够允许用户购买多个产品......(即5,20,323523)。如何允许用户添加更多产品?
这是我的代码:
class PurchaseOrder(models.Model):
product = models.CharField(max_length=256)
vendor = models.CharField(max_length=256)
dollar_amount = models.FloatField()
purchase_date = models.DateField()
notes = models.TextField( null=True, blank= True)
我希望它到哪里
当我在添加页面时:
http://i.imgur.com/u1pu1Gp.png
我可以添加超过1.这是一个外键关系吗?我将如何实施?
答案 0 :(得分:1)
是的,tutorial说'还要注意“轮询”旁边的“添加另一个”链接。每个与ForeignKey关系的对象都是免费的。'。
就个人而言,我会向用户添加一个外键。解决方案here所说的解决方案:
from django.contrib.auth.models import User
...
user = models.ForeignKey(User)
这样,您就知道哪些产品属于哪些用户。
答案 1 :(得分:1)
您需要在ProductOrder和用户之间添加ForeginKey关系:
from django.contrib.auth.models import User
class PurchaseOrder(models.Model):
product = models.CharField(max_length=256)
vendor = models.CharField(max_length=256)
dollar_amount = models.FloatField()
purchase_date = models.DateField()
notes = models.TextField( null=True, blank= True)
purchased_by = models.ForeignKey(User)
然后,您需要在admin.py中添加自定义Admin类:
class PurchaseAdmin(admin.ModelAdmin):
list_display = [..., 'purchased_by',...]
它应显示一个组框,允许您将采购订单分配给任何现有用户。