访问django管理内联模型中的请求对象

时间:2011-08-18 12:34:56

标签: django django-admin

我有以下模型/表单/管理层次结构。我想要实现的基本上是,将当前登录的用户添加到AttachmentInlines的字段中。所以我认为我需要在几个方法中传递的请求对象,如下所示。 但是,在这种情况下,这些方法都不会被调用,显然是因为我正在使用Inline模型。

我可以在InvoiceAdmin#save_model中工作,但这很糟糕,因为我会在一大堆模型管理员中使用相同的Inlines。这对我来说似乎不太干。

那么还有其他方法可以从管理员的Inline模型中访问请求对象吗?

class AttachmentForm(forms.ModelForm):
    class Meta:
        model = Attachment

    def save(self, request, obj, *args, **kwargs):
        print 'I never get called :-('


class AttachmentInlines(generic.GenericStackedInline):
    model = Attachment
    form = AttachmentForm

    def save_model(self, request, obj, form, change):
        print 'I never get called either...'


class InvoiceAdmin(admin.ModelAdmin):
    inlines = [ AttachmentInlines, ]

    def save_model(self, request, obj, form, change):
        print 'I DO get called, but I am not needed...'

0 个答案:

没有答案