如何跨app查询数据

如何在app1的views.py中查询app2的User表?

在网上查了一些资料,无法解决,向大家求教。

xunjian/models.py

from django.db import models

#泵房表
class Bengfang(models.Model):
    name = models.CharField(max_length=254)
    area = models.CharField(max_length=254)

def __str__(self):
    return self.name

#巡检表
class Xunjian(models.Model):
    person = models.ForeignKey('login.User',on_delete=models.CASCADE) #对应登录用户,在另一个app名为login中的User模型。
    bengfang = models.ForeignKey(Bengfang,on_delete=models.CASCADE)
    xj_time = models.DateTimeField(auto_now_add=True)
    xj_status = models.CharField(max_length=80)

xunjian/views.py

from django.shortcuts import render
from django.http import JsonResponse,HttpResponse,HttpRequest
from .models import Bengfang,Xunjian

def index(request):
    pass
    return render(request,'./xunjian/index.html')

#巡检泵房
def xunj1(request):
    try:
        print('巡检请求')
        x1 = request.POST['bengf']   #从页面表单中获取泵房名称benf
        x2 = request.POST['xj_time'] #从页面表单中获取巡检周期xj_time
        if Bengfang.objects.filter(name=x1).exists(): #如果获取的泵房名称存在与表Bengfang中,
            print('有对应泵房')                 #进行打印测试
            x3=Bengfang.objects.filter(name=x1) #将此泵房数据提出
            print(x3)                           #进行打印测试
            x4=request.session['user_id']       #获取session中的用户ID
            print(x4)                           #进行打印测试
            x5='login.User'.objects.filter(id=x4)

#将APP为login中数据取出,@@@@@@@此处出现了错误

            print(x5)
            print('xxxx')
            #xun1=Xunjian.objects.create(person=x5,bengfang=x3,xj_time=x2)
            print('存储成功')
            isok = "存储成功"
        else:
            isok = "存储失败"
    except:
        isok = "返回错误"
return render(request,'./xunjian/index.html',{'isok':isok})

评论 1