【问题标题】:Trouble with Django Admin Inlines using Foreign KeyDjango Admin Inlines 使用外键出现问题
【发布时间】:2013-09-13 02:25:46
【问题描述】:
#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”。

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

【问题讨论】:

    标签: python django django-admin


    【解决方案1】:

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

    #admin.py
    class ActivityInline(admin.TabularInline):
        model = Activity
    
    class BasePostAdmin(admin.ModelAdmin):
        inlines = [ ActivityInline, ]
    
    admin.site.register(BasePost, BasePostAdmin)
    

    更新:

    复制此question 然后:

    【讨论】:

    • 我想要相反的。所以一个活动有一个提示,feature1,feature2的所有格式(标题,内容,资产)本质上,我正在尝试为此找到一个快捷方式:[link]pastebin.com/HVWuy9Kz所以我不需要为每个提示、feature1、feature2 创建自定义模板代码,它们在结构上都是相同的,只是名称不同。
    猜你喜欢
    • 1970-01-01
    • 2012-09-23
    • 2011-09-16
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2011-02-20
    相关资源
    最近更新 更多