Skip to main content
 首页 » 编程设计

python之Django 从多个表中获取数据

2024年08月23日29unruledboy

我想从 Project 和 User1 两个表中获取并显示详细信息(name_project、user_name)

模型.py

class Project(models.Model): 
    name_project = models.CharField(max_length=50) 
    leader = models.ForeignKey('User1', default='') 
    category_project = models.CharField(max_length=50) 
class User1(models.Model): 
    user_name = models.CharField(max_length=30) 
    mail = models.EmailField(max_length=50) 
    password = models.CharField(max_length=50) 

View .py

def list_project(request): 
queryset = Project.objects.raw( 
    'SELECT scrum_rest_project.id, scrum_rest_project.name_project, scrum_rest_user1.user_name FROM scrum_rest_user1,scrum_rest_project WHERE scrum_rest_user1.id = scrum_rest_project.leader_id') 
queryset = serializers.serialize('json', queryset) 
return HttpResponse(queryset, content_type="application/json") 

但它只显示json文件中Project表的数据,我还想显示User1表的数据

请您参考如下方法:

你应该使用 select related feature :

Project.objects.select_related().all()