Django 呈现用户特定数据
我正在尝试创建一个webapp,专门为用户呈现数据。 我必须创建模型,一个用于用户(djangos内置用户),另一个用于要呈现的数据。 我的用户模型F:Django 呈现用户特定数据,django,django-models,django-views,Django,Django Models,Django Views,我正在尝试创建一个webapp,专门为用户呈现数据。 我必须创建模型,一个用于用户(djangos内置用户),另一个用于要呈现的数据。 我的用户模型F: class UserProfileInfo(models.Model): user = models.OneToOneField(User,on_delete=models.CASCADE) def __str__(self): return self.user.username 我的数据模型: class M
class UserProfileInfo(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
def __str__(self):
return self.user.username
我的数据模型:
class MyModel(models.Model):
user_k = models.ForeignKey(User,related_name='RelatedName',on_delete=models.CASCADE)
Date_Time = models.DateTimeField(default=timezone.now)
DataOne = models.PositiveIntegerField(null=True)
DataTwo = models.PositiveIntegerField(null=True)
DataThree = models.PositiveIntegerField(null=True)
在my views.py文件中,我有以下视图:
class MyView(DetailView):
model = models.User
context_object_name = 'mylist'
template_name = 'my_app/example.html'
def get_queryset(self):
return User.objects.filter(user_k=self.request.user)
我无法解决的问题是我得到了这个错误:
Cannot query "user": Must be "MyModel" instance.
我在谷歌上搜索了很多次,也尝试了django文档。
我猜问题可能出在我的模型中,我的意图是将第二个模型连接到用户名,但我不确定
谢谢你的帮助没有理由
User
会有User\k
属性,因此User.objects.filter(User\k=xxx)
毫无意义
使用您的MyModel
model:
class MyView(DetailView):
model = models.MyModel
def get_queryset(self):
return MyModel.objects.filter(user_k=self.request.user)
class MyView(DetailView):
model = models.UserProfileInfo
def get_queryset(self):
return UserProfileInfo.objects.filter(user=self.request.user)
或者使用您的UserProfileInfo
型号:
class MyView(DetailView):
model = models.MyModel
def get_queryset(self):
return MyModel.objects.filter(user_k=self.request.user)
class MyView(DetailView):
model = models.UserProfileInfo
def get_queryset(self):
return UserProfileInfo.objects.filter(user=self.request.user)
然后我得到这个错误:“无法将关键字‘user’解析到字段中。”。选择包括:用户k、加入日期、电子邮件、名字、组、id、是否活动、是否工作人员、是否超级用户、最后登录、最后登录名、日志项、密码、用户权限、用户名将其更改为UserProfileInfo,现在是:必须使用对象pk或slug调用通用详细信息视图BakteriumListView。我知道它应该出现在我的url.py中,但在我的情况下,这不起作用,我不会从另一个视图重定向。我应该如何改变它?也许是ListView?肯定还有别的事。如果你想要你所说的“数据”,你应该使用
MyModel