Преобразуйте этот необработанный sql в запрос к django
hi я пытаюсь преобразовать этот sql код в django запрос
select * from KnowledgeManagement_tblknowledge where (14010705 - CreateDate) >=10000 and (register_status = 7 or register_status = 9)
Я сделал часть этого
knowledges = TblKnowledge.objects.filter(Status__gte=0).filter(Q(register_status=7) | Q(register_status=9))
но эта часть кажется немного сложной
where (14010705 - CreateDate) >=10000
BTW CreateDate является целочисленным файлом и сохраняет текущую дату в солнечной дате и 14010705 является солнечной датой 14010705 = 1401/07/05
Упростите ваше выражение. 14000705 - это жестко закодированное значение, да?
Эквивалентные операции: x - y >= z
- это то же самое, что x >= y + z
, y <= x - z
или y + z <= x
.
Итак, (14010705 - CreateDate) >= 10000
эквивалентно 14010705 + 10000 <= CreateDate
, или 14020705 <= CreateDate
. А если вы хотите перевернуть сторону: CreateDate > 14020705
.
Со:
TblKnowledge.objects.filter(CreateDate__gt=14020705)