我在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的强大功能来创建它们。
任何指针?
答案 0 :(得分:5)
您的内联必须拥有要包含在其中的模型的外键,即您的广告需要您的单位的外键;这是它的工作方式。如果您无法表示该关系,则无法使用内联。我不确定什么可以在管理员中复制这种行为,但我认为内联不符合要求。
https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin