Я новичок как в django, так и в python, но я начинаю понимать вещи. Я думаю.Django QuerySet order
У меня есть эта проблема, и я не могу найти ответ на нее. (Хотя я предполагаю, что это действительно просто и ограничивающие факторы являются моими навыками Google и отсутствием питона/знания Джанго)
Сценарий:
пользователь может выбрать, чтобы Получать временные проемы работы в любом количестве магазинов он или она выбирает.
Я бы хотел представить список предстоящих вакансий (StoreEvents), отсортированных только по дате.
Example:
Store A - 2009-04-20
Store B - 2009-04-22
Store A - 2009-04-23
Банкоматы Я застрял с представлением данных первого упорядоченные по магазину затем по дате, так как я, очевидно, доступ к StoreEvents через модель Store.
Example:
Store A - 2009-04-20
Store A - 2009-04-23
Store B - 2009-04-22
Так что мой вопрос: Можно ли создать QuerySet, который выглядит как первый пример и как это сделать?
Примеры родственных моделей включены:
class Store(models.Model):
class StoreEvent(models.Model):
info = models.TextField()
date = models.DateField()
store = models.ForeignKey(Store, related_name='events')
class UserStore(models.Model):
user = models.ForeignKey(User, related_name='stores')
store = models.ForeignKey(Store, related_name='available_staff')
Edit:
Следующая SQL делает трюк, но я до сих пор не могу понять, как сделать это в Джанго:
SELECT *
FROM store_storeevent
WHERE store_id
IN (
SELECT store_id
FROM profile_userstore
WHERE user_id =1
)
ORDER BY date
. Вы должны быть в состоянии сделать это проще: 'qs = StoreEvent.objects.filter (store__available_staff__user = user) .order_by ('дата') ' – Anentropic