Python 将对象数组传递给另一个模型调用django
我试图为一个用户选择所有类,然后加载所有相应的类对象。这是我的model.py文件:Python 将对象数组传递给另一个模型调用django,python,django,database,model,Python,Django,Database,Model,我试图为一个用户选择所有类,然后加载所有相应的类对象。这是我的model.py文件: from django.db import models from django.contrib.auth.models import User class Class(models.Model): name = models.CharField(max_length=150) description = models.TextField() teacher = models.For
from django.db import models
from django.contrib.auth.models import User
class Class(models.Model):
name = models.CharField(max_length=150)
description = models.TextField()
teacher = models.ForeignKey(User)
class UserClasses(models.Model):
class_name = models.ForeignKey(Class)
user = models.ForeignKey(User)
这是我的电话:
def index(request):
#grab all classes for a user
users_classes = UserClasses.objects.filter(user=request.user)
#pass the array of class objects and get their info
classes = Class.objects.select_related(self=users_classes)
context_dict = {}
return render(request, 'dashboard/index.html', context_dict)
我如何才能实现上述目标?您可以这样做
users_classes = UserClasses.objects.filter(user=request.user)
classes = Class.objects.filter(class_name__in=users_classes)
现在
classes
对象包含了用户所属的所有类。我想这个问题对您有所帮助。我得到了一个错误:无法将关键字“class\u name”解析到字段中。选项有:description、id、name、teacher、teacher\u id、userclasses您的类模型没有任何字段Class\u name
itsname
,因此更新查询,如classes=Class.objects.filter(name\u in=users\u classes)