sad*_*nsh 0 python django django-rest-framework
我有一个扩展Django用户模型的Profile模型,
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=False, blank=True)
weight = models.DecimalField(max_digits=5, decimal_places=2, null=True, blank=True)
height = models.DecimalField(max_digits=5, decimal_places=2, null=True, blank=True)
activity_level = models.DecimalField(max_digits=2, decimal_places=1, null=True, blank=True)
tdee = models.IntegerField(null=True, blank=True)
def __str__(self):
return self.get_username()
Run Code Online (Sandbox Code Playgroud)
当我尝试访问查询集时:
queryset = Profile.objects.all().order_by('-date_joined')
Run Code Online (Sandbox Code Playgroud)
它说
FieldError at /users/
Cannot resolve keyword 'date_joined' into field. Choices are: activity_level, height, id, set, sex, tdee, user, user_id, weight
Run Code Online (Sandbox Code Playgroud)
如何通过Profile类的父模型中的属性来命令我的查询集,在本例中是User模型?
提前致谢.
您没有继承django.contrib.auth用户模型,我们可以看到,您正在与django.contrib.auth用户模型建立OneToOne关系.因此,django.contrib.auth用户模型不会出现在您的Profile模型中.您可能会像这样解决这个问题:
queryset = Profile.objects.all().order_by('-user__date_joined')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
341 次 |
| 最近记录: |