在Django中的视图中,ManyTomay字段无或可以呼叫字段
我的代码有问题,我正在尝试查询我的课程模型,我可能会在用户模型中进行很多可能的领域,现在我需要查询课程模型,该课程标题或ID等于用户的课程
我的课程模型是:
class Courses(models.Model):
title = models.CharField(max_length=100, null=False, blank=False)
description = models.TextField(null=False, blank=False)
active = models.BooleanField(default=False)
default_course = models.BooleanField(default=False)
另一个应用程序中我的用户模型是:
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(max_length=255, unique=True, db_index=True)
courses = models.ManyToManyField('academy.Courses', related_name='user_courses',
blank=True)
is_verified = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
is_author = models.BooleanField(default=False)
is_admin = models.BooleanField(default=False)
is_adviser = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
auth_provider = models.CharField(
max_length=255, blank=False,
null=False, default=AUTH_PROVIDERS.get('email'))
我必须说我的用户模型和课程模型在不同的应用程序中,
这是我的观点:
class CoursesListView(mixins.ListModelMixin, viewsets.GenericViewSet):
serializer_class = UserSerializer
def get_queryset(self, **kwargs):
user = self.request.user
course = Courses.objects.filter(title__in=user.courses.title)
我尝试了很多代码,但它们都没有使用,请任何人可以帮助我如何如何我可以写这个观点吗?
正如我说的,我想致电具有用户课程的ID或标题相同的课程
I have a problem in my code,I'm Trying to querying to my course model, I have a many to may field of course in user model,now I need to query to course model that course title or id is equal to user's courses
My course model is:
class Courses(models.Model):
title = models.CharField(max_length=100, null=False, blank=False)
description = models.TextField(null=False, blank=False)
active = models.BooleanField(default=False)
default_course = models.BooleanField(default=False)
My user model in another app is:
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(max_length=255, unique=True, db_index=True)
courses = models.ManyToManyField('academy.Courses', related_name='user_courses',
blank=True)
is_verified = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
is_author = models.BooleanField(default=False)
is_admin = models.BooleanField(default=False)
is_adviser = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
auth_provider = models.CharField(
max_length=255, blank=False,
null=False, default=AUTH_PROVIDERS.get('email'))
I have to say my user model and course model are in different app
This is my view:
class CoursesListView(mixins.ListModelMixin, viewsets.GenericViewSet):
serializer_class = UserSerializer
def get_queryset(self, **kwargs):
user = self.request.user
course = Courses.objects.filter(title__in=user.courses.title)
I tried so many code but none of them worked,please any one can help me how can I write this view?
as I said I want to call courses that have same id or title with user courses
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果要显示此用户的所有
课程
,请更改您的代码:另外,请确保正确添加许多对象:
可以查看 this 文件:
If you want to show all
Courses
of this user, change your code:Also, be sure to add Many to many object properly:
Can take a look at this file: