#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”。
我尝试使用内联但是无法弄明白。
答案 0 :(得分:0)
您可以向后设置所有内容 - 注册基类并将Activity类设置为内联。试试这个:
#admin.py
class ActivityInline(admin.TabularInline):
model = Activity
class BasePostAdmin(admin.ModelAdmin):
inlines = [ ActivityInline, ]
admin.site.register(BasePost, BasePostAdmin)
更新:
然后复制question: