小编NeD*_*iaz的帖子

django:覆盖 get_Form 内联

我想覆盖get_form表格管理中的 以便按当前用户进行过滤。问题是我收到一个错误:

 object has no attribute 'current_user'
Run Code Online (Sandbox Code Playgroud)
  • 管理员.py

    class InvoiceDetail(admin.TabularAdmin):
        form = InvoiceDetailForm
        model = fa_invoice_lines
    
        def get_form(self, request, obj=None, **kwargs):
            form = super(InvoiceDetail, self).get_form(request, obj, **kwargs)
            form.current_user = request.user
            return form
    
    class Invoice(admin.ModelAdmin)
        form = InvoiceForm
        inlines =   [InvoiceDetail,]
    
    Run Code Online (Sandbox Code Playgroud)
  • 表格.py

    class InvoiceDetailForm(forms.ModelForm):
        def __init__(self, *args, **kwargs):
            super(InvoiceDetailForm, self).__init__(*args, **kwargs)
            self.fields['item'].queryset = fa_items.objects.filter(tenant=self.current_user)
    
        class Meta:
            model = fa_invoice_lines
    
    Run Code Online (Sandbox Code Playgroud)

我在非内联中使用了相同的策略并且它有效似乎没有调用get_form

python django django-admin inlines

3
推荐指数
2
解决办法
4702
查看次数

requests.request('POST' 和 request.post 之间的区别

这两个句子之间有什么区别:

res = requests.request('POST', url)
Run Code Online (Sandbox Code Playgroud)

和

res = requests.request.post(url)
Run Code Online (Sandbox Code Playgroud)

python

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

标签 统计

python ×2

django ×1

django-admin ×1

inlines ×1