我正在尝试获得可以无限次添加的PurchaseOrder。也许这比我想的要容易,但这是我在这个想象中的问题:
我希望它在那里而不是添加另一个VendorProfile,它将添加另一个PurchaseOrder。我的最终目标是能够从同一个添加屏幕添加1,2,20等PurchaseOrder。无法添加PurchaseOrder,然后添加VendorProfile。这是一些代码:在models.py中
class PurchaseOrder(models.Model):
product = models.CharField(max_length=256)
dollar_amount = models.FloatField()
item_number = models.AutoField(primary_key=True)
vendor = models.ForeignKey('VendorProfile')
class VendorProfile(models.Model):
name = models.CharField(max_length=256)
address = models.CharField(max_length=512)
city = models.CharField(max_length=256)
在admin.py中
class ProductInline(admin.StackedInline):
model = VendorProfile
extra = 3
class PurchaseOrderAdmin(admin.ModelAdmin):
#...
inlines = [ProductInline]
如果我理解正确,您需要将许多采购订单与一个VerndorProfile相关联。在这种情况下,最好使用ManyToManyField。 例:
models.朋友:
class PurchaseOrder(models.Model):
product = models.CharField(max_length=256)
dollar_amount = models.FloatField()
item_number = models.AutoField(primary_key=True)
def __unicode__(self):
return u'{} {}'.format(self.product, self.dollar_amount)
class VendorProfile(models.Model):
name = models.CharField(max_length=256)
address = models.CharField(max_length=512)
city = models.CharField(max_length=256)
purchased_orders = models.ManyToManyField('PurchaseOrder')
admin.朋友
class VendorProfileAdmin(admin.ModelAdmin):
filter_horizontal = ('purchased_orders', )
admin.site.register(VendorProfile, VendorProfileAdmin)