Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在django管理内联模型中访问请求对象_Django_Django Admin - Fatal编程技术网

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

在django管理内联模型中访问请求对象,django,django-admin,Django,Django Admin,我有以下模型/表单/管理层次结构。我想要实现的基本上是,将当前登录的用户添加到AttachmentInlines的一个字段中。所以我想我需要请求对象,它通过下面实现的几个方法传入。 但是,这些方法都不会在该上下文中被调用,显然是因为我使用的是内联模型 我可以在InvoiceAdmin#save#U模型中工作,但这很糟糕,因为这样我就必须在所有使用相同内联线的模型管理员中工作。对我来说不太干 那么,有没有其他方法可以从管理中的内联模型中访问请求对象呢 class AttachmentForm(fo

我有以下模型/表单/管理层次结构。我想要实现的基本上是,将当前登录的用户添加到AttachmentInlines的一个字段中。所以我想我需要请求对象,它通过下面实现的几个方法传入。 但是,这些方法都不会在该上下文中被调用,显然是因为我使用的是内联模型

我可以在InvoiceAdmin#save#U模型中工作,但这很糟糕,因为这样我就必须在所有使用相同内联线的模型管理员中工作。对我来说不太干

那么,有没有其他方法可以从管理中的内联模型中访问请求对象呢

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...'

为什么不能将ModelAdmin子类化以添加逻辑,然后将其用作每个内联线的基类?老实说,我还没有想到这一点,因为我认为a)对于如此简单的东西,必须有一个更直接的解决方案,b)可能有一个很好的理由解释为什么这些内联线的行为与普通的ModelAdmin如此不同。