Я пытаюсь выбрать две таблицы, которые имеют общее поле. в сыром запросе MySQL, я могу написать следующим образом:Положите пустое поле в peewee union select
SELECT t1.id, t1.username, t1.date FROM table1 as 't1' UNION SELECT t2.id, "const_txt", t2.date FROM table2 as 't2'
В этом запросе username
поле не в table2, и я установить const_txt
вместо этого.
Итак, в peewee, я хочу объединить две таблицы, которые имеют такую же ситуацию выше.
class PeeweeBaseModel(Model):
class Meta:
database = my_db
class Table1(PeeweeBaseModel):
id = PrimaryKeyField()
username = CharField(255)
date = DateTimeField()
#other fields ...
class Table2(PeeweeBaseModel):
id = PrimaryKeyField()
date = DateTimeField()
#other fields ...
а затем, союз двух моделей. что-то вроде этого:
u = (
Table1(
Table1.id,
Table1.username,
Table1.date
).select()
|
Table2(
Table2.id,
"const_text_instead_real_field_value",
Table2.date
).select()
).select().execute()
const_text
Но не принимается полем и игнорировать в результате запроса.
вопрос: Как я могу определить поле, которое не существует в моей таблице, и установить его вручную в запросе?
(И я предпочитаю не использовать SQL функции().)
спасибо.
Это хорошо ... но, как я уже говорил, мне нужен другой способ, кроме SQL(). Но еще раз спасибо. –
Это именно то, для чего предназначена функция 'SQL'. – coleifer
@ Reza-S4, просто чтобы немного уточнить, какой тип API вы бы лучше видели, чем 'SQL'? – coleifer