使用外键的Django Admin内联问题

时间:2013-09-09 14:45:41

标签: python django django-admin

#models.py
class BasePost(models.Model):
    title = models.CharField(max_length=300)
    prompt = HTMLField()
    assets = MultiFileField(upload_to="assets/%Y/%m", blank=True)


class Activity(OrderedModel):
    prompt = models.ForeignKey(BasePost, related_name="prompts+")
    feature1 = models.ForeignKey(BasePost, related_name="feature+")
    feature2 = models.ForeignKey(BasePost, related_name="feature1+")

#admin.py
class BasePostInline(admin.TabularInline):
    model = BasePost

class ActivityAdmin(admin.ModelAdmin):
    inlines = [ BasePostInline, ]

admin.site.register(Activity, ActivityAdmin)

基本上:提示,feature1,feature2都是BasePost类型的对象。 BasePost有标题,内容,资产。

在“活动”的管理员中,我无法弄清楚如何获取每个标题,内容和资产字段。相反,我只是看到下拉菜单选择现有的“BasePosts”。

我尝试使用内联但是无法弄明白。

1 个答案:

答案 0 :(得分:0)

您可以向后设置所有内容 - 注册基类并将Activity类设置为内联。试试这个:

#admin.py
class ActivityInline(admin.TabularInline):
    model = Activity

class BasePostAdmin(admin.ModelAdmin):
    inlines = [ ActivityInline, ]

admin.site.register(BasePost, BasePostAdmin)

更新:

然后复制question