我想使用Django的額外()方法來添加一個外鍵字段到查詢集,但我得到數據庫錯誤。我想知道我做錯了什麼。這是我的設置:在django模型上使用額外的()外鍵失敗,數據庫錯誤
class ModelA(models.Model):
created = models.DateTimeField(auto_now_add=True)
name = models.CharField(max_length=100)
class ModelB(models.Model):
name = models.CharField(max_length=100)
rel = models.ForeignKey(ModelA)
我想用額外的()從相關模型添加一個字段,所以我可以用它註釋()。 這裏就是我想要做的事:
ModelB.objects.all().extra(select={'date' : 'date(rel.created)'}).values('date').annotate(...)
這給了我一個DB的錯誤,他說,列「相對」不存在。
我正在使用PostgreSQL。 任何人都可以幫我弄清楚我做錯了什麼?
感謝您的回答。雖然你是正確的,我不需要額外的()來獲取信息,但我試圖用它來將日期時間字段格式化爲僅限日期(使用數據庫的date()函數),以便我執行註釋()。如果我不使用它,我在你的查詢集中得到的每個值在時間戳上稍有不同,因此annotate()中的count方法不會給我想要的結果 – elynch