Я пытаюсь следовать документации по поискам, которые охватывают отношения для "обратного" отношения, найденного здесь .Вот мой код модели:
class Foo(models.Model):
initiator = models.ForeignKey(User)
date_time = models.DateTimeField()
...
А вот мой код запроса:
...
now = datetime.now()
users = User.objects.filter(foo__date_time__gte = now)
...
Это приводит к следующей ошибке: django.core.exceptions.FieldError: Cannotразрешить ключевое слово «foo» в поле.Доступны следующие варианты: _message_set, date_joined, электронная почта, first_name, groups, id, is_active, is_staff, is_superuser, last_login, last_name, logentry, пароль, user_permissions, username
Однако, если я изменю код на неиспользуйте User, но вместо этого используйте мою собственную модель типа Bar, тогда все работает так, как я ожидаю, без ошибок.Пример ниже:
class Foo(models.Model):
initiator = models.ForeignKey(Bar)
date_time = models.DateTimeField()
...
...
now = datetime.now()
bars = Bar.objects.filter(foo__date_time__gte = now)
...
Может кто-нибудь объяснить мне проблему с первым кодом, который использует модель User в качестве внешнего ключа?Заранее спасибо!
РЕДАКТИРОВАТЬ: Я должен уточнить, что мой код запроса находится не в функции представления, а в служебной функции, которую я вызываю с помощью команды manage.py.Если я добавлю код запроса в представление, то все будет работать без ошибок!Но любопытно, что второй пример кода прекрасно работает как в сценариях вида, так и в сценариях команд управления.
Надеюсь, кто-то с немного большим опытом в Django, чем я, сможет это объяснить.Спасибо!