Как заказать набор запросов Django по атрибуту родительской модели? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть модель профиля, которая расширяет модель пользователя Django,

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()

, и когда я пытаюсь получить доступ к набору запросов:

queryset = Profile.objects.all().order_by('-date_joined')

, он говорит

FieldError at /users/
Cannot resolve keyword 'date_joined' into field. Choices are: activity_level, height, id, set, sex, tdee, user, user_id, weight

Как упорядочить набор запросов по атрибуту из родительской модели класса Profile, которая в данном случае является моделью пользователя?

Заранее спасибо.

1 Ответ

0 голосов
/ 22 мая 2018

Вы не наследуете пользовательскую модель django.contrib.auth, как мы видим, вы устанавливаете связь OneToOne с пользовательской моделью django.contrib.auth.Таким образом, пользовательская модель django.contrib.auth не будет присутствовать в вашей модели профиля.Вы, вероятно, решите это так:

queryset = Profile.objects.all().order_by('-user__date_joined')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...