tôi muốn trích xuất một số cột cụ thể từ truy vấn djangoDjango QuerySet - giải nén chỉ ngày từ lĩnh vực datetime trong truy vấn (bên .Value())
models.py
class table
id = models.IntegerField(primaryKey= True)
date = models.DatetimeField()
address = models.CharField(max_length=50)
city = models.CharField(max_length=20)
cityid = models.IntegerField(20)
Đây là những gì tôi hiện đang sử dụng cho truy vấn của tôi
obj = table.objects.filter(date__range(start,end)).values('id','date','address','city','date').annotate(count= Count('cityid')).order_by('date','-count')
tôi hy vọng sẽ có một truy vấn SQL đó là tương tự như sau
select DATE(date), id,address,city, COUNT(cityid) as count from table where date between "start" and "end" group by DATE(date), address,id, city order by DATE(date) ASC,count DESC;
Ngày nay, ['.extra' chỉ nên được sử dụng như một phương sách cuối cùng] (https://docs.djangoproject.com/en/1.10/ref/models/querysets/#django.db.models.query.QuerySet.extra) . Có cách nào khác không? – mgalgs
Tôi nghĩ rằng họ đã đề cập tương đương của nó trên trong các tài liệu được đề cập ở trên, Như họ nói bạn nên sử dụng RawSQL (https://docs.djangoproject.com/en/1.10/ref/models/expressions/#django.db.models. expressions.RawSQL). – CrazyGeek