Я использую raw()
и annotate()
для запроса Django, и мне нужно как-то проверить его.
Вот как выглядит мой код (это значительно упрощается)
query = """SELECT
table1.id, table1.column1, table1.column2,
table2.other_column1, table2.other_column2
FROM myapp_mymodel as table1
JOIN otherapp_othermodel as table2 ON table1.othermodel_id = table2.id"""
return MyModel.objects.annotate(
other_column1=models.Value('other_column1', models.IntegerField()),
other_column2=models.Value('other_column2', models.DateField())
).raw(query)
Заполнить базу данных примерами данных довольно просто, но как лучше всего проверить, что данные возвращаются этим кодом?
Существует множество опций при работе со стандартными наборами запросов, которые, похоже, выходят за рамки при работе с RawQuerySets.