1

我正在制作一个系统来跟踪客户订购的所有订单,查看产品、购买日期、价格等。

如果我希望能够允许用户购买多个产品...(即 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

我可以添加多个。这会是外键关系吗?我将如何实施呢?

4

2 回答 2

1

是的,教程说“还要注意“投票”旁边的“添加另一个”链接。每个与另一个对象有 ForeignKey 关系的对象都可以免费获得这个。

就个人而言,我会为用户添加一个外键。这里的解决方案是通过以下方式完成的:

from django.contrib.auth.models import User
...
user = models.ForeignKey(User)

这样,您就知道哪些产品属于哪些用户。

于 2013-07-31T19:24:22.287 回答
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',...]

它应该显示一个组框,允许您将采购订单分配给任何现有用户。

于 2013-07-31T19:38:45.107 回答