Django:没有外键的admin.StackedInline

时间:2011-10-03 17:36:38

标签: django mongodb django-admin

我在admin.py

中有以下内容
class AdInline(admin.StackedInline):
    model = Ad

class UnitAdmin(admin.ModelAdmin):
    fields = ('user', 'name', 'about', 'url', 'active', 'type')
    list_display = ('user', 'name', 'url', 'created', 'active', 'type')

    inlines = [AdInline]

class AdAdmin(admin.ModelAdmin):
    fields = ('user', 'title', 'about', 'url', 'active')
    list_display = ('user', 'title', 'url', 'created', 'active', 'clicks')

现在这是在mongodb中完成的,所以我不想要关系..但我希望管理员工作..当我尝试加载一个单元时,我收到以下错误

Exception Value:    <class 'ad.models.Ad'> has no ForeignKey to <class 'ad.models.Unit'>

广告没有任何外键。我希望所有广告都作为mongodb中的字典存在于单元内。我只想利用django admin的强大功能来创建它们。

任何指针?

1 个答案:

答案 0 :(得分:5)

您的内联必须拥有要包含在其中的模型的外键,即您的广告需要您的单位的外键;这是它的工作方式。如果您无法表示该关系,则无法使用内联。我不确定什么可以在管理员中复制这种行为,但我认为内联不符合要求。

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin