2012-10-03 37 views
0

如何在OrderAdmin中顯示:Basket業主,產品,產品數量?從管理面板中的另一個模型顯示數據

我嘗試內聯:

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) 

也許我需要一種不同的方式。請任何幫助。由於

回答

0

你在你需要外鍵上OrderBasket型號:

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') 
相關問題