gpt4 book ai didi

Django 将请求数据传递给 Forms.py

转载 作者:行者123 更新时间:2023-12-04 23:35:39 24 4
gpt4 key购买 nike

场景;

我们得到了一个 from 字段,里面有一个组合框,里面装满了项目。

我们有租户,每个用户都有 TenantID,因此当 A1 用户(tenantid 1)调用创建表单时,我们需要过滤该组合框以使用查询过滤仅过滤 A1 用户项。

其他租户也是如此。

我怎样才能传递那个动态的租户 ID。

顺便说一句,对于存储在抽象类 django 核心 USER 中的每个用户租户 ID,添加了新字段租户 ID。
任何建议我都愿意接受,谢谢您的关注。

状态:解决了!

Forms.py

class ItemForm(forms.ModelForm):
class Meta:
model = Items
fields = ('id', 'item', 'start', 'end')
widgets = {
'start': DateTimePickerInput(format='%Y-%m-%d %H:%M'),
'end': DateTimePickerInput(format='%Y-%m-%d %H:%M'),
}

def __init__(self, *args, **kwargs):
super(ItemForm, self).__init__(*args, **kwargs)
self.fields['item'].queryset = Items.objects.filter(tenantid=int(User.tenantid))

View .py
@login_required()
def create_item_record(request):
if request.method == 'POST':
form = ItemForm(request.POST)
if request.method == 'GET':
tenantidX = request.user.tenantid
form = ItemForm()
return save_item_form(request, form, 'items_create_partial.html')

最佳答案

只需将用户从请求传递到您的表单:

class ItemForm(forms.ModelForm):
class Meta:
model = Items
fields = ('id', 'item', 'start', 'end')
widgets = {
'start': DateTimePickerInput(format='%Y-%m-%d %H:%M'),
'end': DateTimePickerInput(format='%Y-%m-%d %H:%M'),
}

def __init__(self, user, *args, **kwargs):
super(ItemForm, self).__init__(*args, **kwargs)
self.fields['item'].queryset = Items.objects.filter(tenantid=int(user.tenantid))

@login_required()
def create_item_record(request):
if request.method == 'POST':
form = ItemForm(request.user, request.POST)
if request.method == 'GET':
form = ItemForm(request.user)
return save_item_form(request, form, 'items_create_partial.html')

关于Django 将请求数据传递给 Forms.py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58094155/

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