给出以下模型:
class Foo(models.Model):
bar = models.ForeignKey(Bar)
class Bar(models.Model):
date = models.DateTimeField(auto_add_now=True)
这些不同吗?:
Foo.bar.filter(date=...)
Foo.objects.filter(bar__date=...)
如果是,怎么样?如果没有,为什么它们都存在?
答案 0 :(得分:1)
正如@yuvi提到的Foo.bar.filter(date=...)
无效。也许第一个查询就像:
Foo.bar.get_query_set().filter(date=...)
Foo.bar.get_query_set()
会为bar
生成一个与Bar.objects.all()
相同的查询集。因此这两者完全不同。
Foo.bar.filter
不存在,因为Foo.bar
存在以获取有关该字段的说明。