django 如何以管理员身份访问特定用户的模型数据?

bmvo0sr5  于 2022-11-26  发布在  Go
关注(0)|答案(1)|浏览(118)

我正在创建一个只对员工可用的简单模型表单。它有一个由www.example.com user = models.ForeignKey(User, on_delete=models.CASCADE)填充的用户选择下拉列表models.py。
提交时,我需要视图从表单中查找选定的用户,并返回模型中该用户的数据(来自内置的Django数据库)。
我搜索了这里和推荐的文章,但是它们似乎都是以登录用户的身份访问模型。下面是表单和我的代码的截图:

模型.py

class GetData(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)

表单.py

class DataRequestForm(forms.ModelForm):
    class Meta:
        model = GetData
        fields = ['user']

查看次数.py

@login_required
def data_form(request):
    if request.user.is_staff == True:
        if request.method == 'POST':
            form = DataRequestForm(request.POST)
            if form.is_valid():
                user = request.POST["user"]
                print("Form is Valid")
                print(user) 
                # How to access that user's model data here?
ubof19bj

ubof19bj1#

您应该首先通过id获取用户,然后使用检索到的用户获取模型详细信息。
views.py

@login_required
def data_form(request):
    if request.user.is_staff == True:
        if request.method == 'POST':
            form = DataRequestForm(request.POST)
            if form.is_valid():
                user = request.POST["user"]
                print("Form is Valid")
                print(user) 
                
                # getting user data by id.
                get_user = get_object_or_404(User, id=user)

                get_another_model_data = SecondModel.objects.filter(user=get_user)

                # perform or save the data here

相关问题