代码之家  ›  专栏  ›  技术社区  ›  nogabemist

Django模型:如何使用过滤多值编写多值查询

  •  0
  • nogabemist  · 技术社区  · 5 年前

    我有本地用户和个人模型。我尝试使用多个结果进行查询,但应该使用多个值进行筛选。模型之间有一对一的关系。有模型。

        class Hospital_Local_User(models.Model):
            id = models.AutoField(primary_key=True)
            email = models.CharField(max_length=45)
            password = models.CharField(max_length=45)
            phone = models.CharField(max_length=45)
    
    class Personal (models.Model):
        id = models.AutoField(primary_key=True)
        name = models.CharField(max_length=255)
        lastname = models.CharField(max_length=255)
        user_roles_id = models.ForeignKey(User_Role, on_delete=models.CASCADE)
        hospitals_id = models.ForeignKey(Hospital, on_delete=models.CASCADE)
        hospital_local_users_id = models.OneToOneField(
            Hospital_Local_User, on_delete=models.CASCADE)
    

    这就是我试图构建的代码。

    def listDoctors(request):
        userRole = User_Role.objects.get(id=2)
        Doctors = Personal.objects.filter(user_roles_id=userRole)
        hospLocUser = Hospital_Local_User.objects.filter(id=Doctors)
        serialized_queryset = serializers.serialize('json', hospLocUser)
        return JsonResponse(json.loads(serialized_queryset), safe=False)
    

    我尝试创建两个对象,然后将它们合并为一个对象,因为当我尝试将个人模型转换为json时,它不会显示电子邮件和电话字段。它只是将它们显示为本地用户id。我不需要本地用户id,我需要其中的字段。

    0 回复  |  直到 5 年前