gpt4 book ai didi

python - 覆盖 Django InlineModelAdmin 上的 save_model

转载 作者:IT老高 更新时间:2023-10-28 21:12:21 24 4
gpt4 key购买 nike

我有一个模型,它有一个 user 字段,需要从当前登录的用户自动填充。我可以让它按规定工作 here如果 user 字段在标准 ModalAdmin 中,但如果我正在使用的模型在 InlineModelAdmin 中并从 Admin 中另一个模型的记录中保存,它不会占用。

最佳答案

这是我认为最好的解决方案。我花了一段时间才找到它......这个答案给了我线索:https://stackoverflow.com/a/24462173/2453104

在您的 admin.py 上:

class YourInline(admin.TabularInline):
model = YourInlineModel
formset = YourInlineFormset

def get_formset(self, request, obj=None, **kwargs):
formset = super(YourInline, self).get_formset(request, obj, **kwargs)
formset.request = request
return formset

在您的 forms.py 上:

class YourInlineFormset(forms.models.BaseInlineFormSet):
def save_new(self, form, commit=True):
obj = super(YourInlineFormset, self).save_new(form, commit=False)
# here you can add anything you need from the request
obj.user = self.request.user

if commit:
obj.save()

return obj

关于python - 覆盖 Django InlineModelAdmin 上的 save_model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1732151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com