我正在尋找一些關於如何讓我的Django項目管理員使用這兩個工具,treeadmin拖放thingy和mptt模型的幫助。Django - 什麼是fk_name?
一切工作正常開箱的,但是當我嘗試這在我的admin.py:
class ItemInline(TreeAdmin):
model = MenuItems
class MenuAdmin(admin.ModelAdmin):
model = Menu
inlines = (ItemInline,)
admin.site.register(Menu, MenuAdmin)
我得到了一個錯誤:對象類型「ItemInline」有沒有屬性「FK_NAME」。
現在,這個fk_name到底是什麼,我該如何將它添加到ItemInLine中?
這裏是我的模型爲好,如果它有什麼做什麼:
class Menu(MPTTModel):
name = models.CharField(max_length = 100)
def __unicode__(self):
return self.name
class MenuItems(MPTTModel):
menu = models.ForeignKey(Menu)
name = models.CharField(max_length=50, unique=True)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
target = models.ForeignKey(Pages,null=True, blank=True)
class MPTTMeta:
order_insertion_by = ['name']
def __unicode__(self):
return self.name
'fk_name'在文檔解釋說:https://docs.djangoproject.com/en/dev /ref/contrib/admin/#django.contrib.admin.InlineModelAdmin.fk_name所以也許設置'fk_name'菜單的幫助。然後再次:你使用哪個mptt軟件包? – arie
將菜單添加爲fk_name後,我得到一個新的錯誤:type object'ItemInline'沒有'extra'屬性。而關於mptt包..不知道這意味着什麼。在頁面的頂部,我有這個:從mptt.admin import * ... – QlliOlli