我对django和python都很新,但是我开始逐渐掌握了一些东西。我想。
我有这个问题,但似乎找不到答案。(虽然我认为这真的很简单,限制因素是我的谷歌搜索技巧和缺乏python/django知识)
场景:
用户可以选择接收任意数量的店铺提供的临时工作机会。
我想呈现一个按照日期字段排序的即将到来的工作职位(storeEvents)列表。
Example:
Store A - 2009-04-20
Store B - 2009-04-22
Store A - 2009-04-23
目前我只能按照店铺排序然后再按日期排序来呈现数据,因为我显然是通过Store模型访问StoreEvents。
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')
编辑:
以下 SQL 可以解决问题,但我仍然不知道如何在 Django 中实现:
SELECT *
FROM store_storeevent
WHERE store_id
IN (
SELECT store_id
FROM profile_userstore
WHERE user_id =1
)
ORDER BY date