0

表示方法OrderAdminBasket所有者、製品、製品の数量?

インラインで試してみます:

admin.py:

class BasketInline(admin.TabularInline):
    model = Basket

class OrderAdmin(admin.ModelAdmin):
    inlines = [
        BasketInline,
    ]
admin.site.register(Order, OrderAdmin)

しかし、それは機能しません。

class Basket(models.Model):
    owner = models.ForeignKey(User, related_name='user_basket', verbose_name='Owner')
    name = models.CharField("Basket_Name", max_length=30)
    products = models.ManyToManyField('Product', through='BasketProduct', blank=True, null=True)


class BasketProduct(models.Model):
    product = models.ForeignKey('Product')
    basket = models.ForeignKey('Basket')
    quantity = models.IntegerField()

class Product(models.Model):
    name = models.CharField(max_length=50)
    slug = models.SlugField()
    unit_price = models.DecimalField(max_digits=5, decimal_places=2)
    desc = models.TextField()
    category = models.ManyToManyField(Category)

class ShippingOptions(models.Model):
    name = models.CharField(max_length=50)
    price = models.DecimalField(max_digits=5, decimal_places=2)
    time = models.CharField(max_length=150)

class Order(models.Model):
    bask = models.OneToOneField(Basket)
    shipp = models.OneToOneField(ShippingOptions)

たぶん私は別の方法が必要です。助けてください。ありがとう

4

1 に答える 1

0

モデルでforeignKeyが必要OrderですBasket

class Basket(models.Model):
    owner = models.ForeignKey(User, related_name='user_basket', verbose_name='Owner')
    name = models.CharField("Basket_Name", max_length=30)
    products = models.ManyToManyField('Product', through='BasketProduct', blank=True, null=True)
    owner = models.ForeignKey(Owner, blank=True, verbose_name='Owner')

または、最初のモデル行にエラーがあります:

owner = models.ForeignKey(Owner, related_name='user_basket', verbose_name='Owner')
于 2012-10-03T11:38:18.683 に答える