0
#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)

本质上:Prompt、feature1、feature2 都是 BasePost 类型的对象。BasePost 有标题、内容、资产。

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

我尝试使用内联但无法弄清楚。

4

1 回答 1

0

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

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

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

admin.site.register(BasePost, BasePostAdmin)

更新:

那么这个问题的重复:

于 2013-09-09T16:28:21.283 回答