小编use*_*820的帖子

Django:Admin inline为每个实例形成初始数据

我一直在阅读很多,但我似乎无法找到解决方案.

我正在Django中编写一个应用程序,我还在编写管理员端.

我有一个名为"Environments"的模型和一个名为"Servers"的模型,服务器和环境之间存在ForeignKey关系,例如给定环境有多个服务器.

在管理界面中修改环境的"添加"表单时,我使用内联表单来显示将与环境关联的服务器列表,如下所示:

class ServerInline(admin.TabularInline):
    model = Server
    extra = 39

class EnvironmentAdmin(admin.ModelAdmin):
    inlines = [ServerInline]
Run Code Online (Sandbox Code Playgroud)

很简单吧?

我想要做的是使用默认值预填充服务器内联表单,我已经能够使用相同的值预先填充它们:

class ServerInlineAdminForm(forms.ModelForm):
    class Meta:
        model = Server

    def __init__(self, *args, **kwargs):
        super(ServerInlineAdminForm, self).__init__(*args, **kwargs)
        self.initial['name']='Testing'

class ServerInline(admin.TabularInline):
    form = ServerInlineAdminForm
    model = Server
    extra = 39

class EnvironmentAdmin(admin.ModelAdmin):
    inlines = [ServerInline]
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的,我希望能够使用列表中的39个不同值初始化39个服务器表单实例.最好的办法是什么?

谢谢!

django django-admin

17
推荐指数
3
解决办法
1万
查看次数

基于Django类的通用视图和继承

因此,我正在编写此应用程序,并使用通用视图对象ListView和ObjectView。

我在两种方法上都重写了get_context_data方法,以便能够在两种情况下添加相同的额外上下文(与对象无关)。

现在,我有两个类,一个扩展了Listview,另一个扩展了DetailView,它们都具有相同的get_context_data方法。

虽然工作正常,但真的很痛苦,但是是否有一个父类可以重写get_context_data,从而使ListView和DetailView继承新的get_context_data?这样看起来会更好:)

谢谢。

X

django django-views

2
推荐指数
1
解决办法
2060
查看次数

标签 统计

django ×2

django-admin ×1

django-views ×1