我有以下模型/表单/管理层次结构。我想要实现的基本上是,将当前登录的用户添加到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...'