我想知道是否可以使用Django模型的字段别名来查询它?在
例如:
class Book(models.Model):
pub_date = models.DateTimeField(_('Publication Date'),
...
class Magazine(models.Model):
creation_date = models.DateTimeField(_('Publication Date'),
...
我可以给这个类起别名,这很好:
^{pr2}$然后查询为:
my_class.objects.all()
很好!在
我希望能化名为Book.pub_.日期&安培;杂志创建日期作为我的约会对象,所以我可以:
Book.objects.filter(my_pub_date__gt=some_date) (or my_class.objects.filter(my_pub_date__gt=some_date))
而不是:
Book.objects.filter(pub_date__gt=some_date)
谢谢
不费吹灰之力也不行。即使有可能,如果你想保持清醒,也不要这么做。在
在本例中,我将使用(a)一个抽象基类,它保存两个模型的公共信息。在
或者(b)一个带有
publication_type
字段的模型,可以选择“book”和“magazine”。在或者(c)使用方法
published_after
将自定义管理器和查询集添加到两个模型中,该方法知道要将哪个属性用于筛选器。在我建议选择(b)如果书籍和杂志没有太大区别,(a)如果有。在
相关问题 更多 >
编程相关推荐