【发布时间】:2018-08-01 04:00:03
【问题描述】:
我正在使用 Django-Cookiecutter,它使用 Django-Allauth 来处理所有身份验证,并且安装了一个名为 user 的应用程序来处理与用户相关的所有内容,例如注册、退出等。
我正在为用户共享 models.py 文件
@python_2_unicode_compatible
class User(AbstractUser):
# First Name and Last Name do not cover name patterns
# around the globe.
name = models.CharField(_('Name of User'), blank=True, max_length=255)
def __str__(self):
return self.username
def get_absolute_url(self):
return reverse('users:detail', kwargs={'username': self.username})
现在我已经添加了我的新应用,比如 Course,我的 models.py 是
class Course(models.Model):
name = models.CharField(max_length=30)
description = models.CharField(max_length=100)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse("details:assess", kwargs={"id": self.id})
我还将views.py定义为
@login_required
def course_list(request):
queryset = queryset = Course.objects.all()
print("query set value is", queryset)
context = {
"object_list" :queryset,
}
return render(request, "course_details/Course_details.html", context)
有什么方法可以将(外键)用户应用程序引用到我的课程应用程序,以便每个用户都有自己的课程分配给它。
一种可能的方法是根据用户过滤对象并将其传递给模板
我不知道如何映射用户和课程以获取分配给特定用户的课程列表。
【问题讨论】:
-
是的,您可以使用外键。什么让你困惑?
-
我已经添加了外键,但是当我根据用户查询时,我没有得到正确的结果
-
显示你得到的代码和结果,并解释它与你的预期有何不同。
-
1.在模型上定义一个外键,指向 auth.User;您可以使用自定义的相关名称; 2. 迁移; 3.迁移; 4.应该工作
-
类似这样,user = models.ForeignKey(User, default='1'),我已经从“User App”导入了用户
标签: python django django-models django-views django-allauth