這裏是模型定義:Django的:多對多在線管理視圖錯誤
class ItemBrand(models.Model):
name = models.CharField(max_length = 30, unique = True)
def __unicode__(self):
return self.name
class WantedItem(models.Model):
name = models.CharField(max_length = 120)
description = models.TextField()
created = models.DateTimeField(auto_now = False, auto_now_add = True)
expires = models.DateTimeField(auto_now = False, auto_now_add = False)
type = models.ForeignKey(ItemType, related_name = "type wanted")
GENDER_CHOICES = (
(1, 'Male'),
(2, 'Female')
)
gender = models.IntegerField(choices = GENDER_CHOICES)
brands = models.ManyToManyField(ItemBrand, related_name = "wantedbrands", symmetrical = False)
colors = models.ManyToManyField(ItemColor)
sizes = models.ManyToManyField(ItemSize)
creator = models.ForeignKey(User, related_name = "wishlist creator")
def __unicode__(self):
return self.name
這裏是AdminModel代碼:
class BrandsInline(admin.TabularInline):
model = WantedItem.brands.through
class WantedItemAdmin(admin.ModelAdmin):
list_display = ('name', 'created', 'expires', 'type', 'gender', 'creator')
search_fields = ('name', 'description')
list_filter = ('created', 'brands',)
ordering = ('-created',)
inlines = [
BrandsInline,
]
exclude = ('brands',)
這是從Django文檔拉到基本上是正確的,而這裏的錯誤我得到:
'ReverseManyRelatedObjectsDescriptor'對象沒有屬性'through'
我完全喪失了......任何想法?即使我從字面上創建鏈接器表並在模型中設置「through」屬性,我也會得到相同的錯誤。
殘破?
這是「糾正」的代碼,你已經試圖解決這個問題?正如我所看到的,WantedItem.brands是指ItemBrand,並且沒有通過屬性(沒有任何反向列出) – 2009-12-02 01:05:48
請修復空白。 – Alasdair 2009-12-02 01:34:43
@Christian P. - 這也是我最初關於'through'屬性的想法,但事實證明這是用內聯替換多對多小部件的方法。請參閱http://docs.djangoproject.com/en/dev/ref/contrib/admin/#working-with-many-to-many-models – Alasdair 2009-12-02 02:34:16