169 похожих чатов

Первая таблица поля: user_id, name, middle_name, bornDate, gender Вторая таблица поля:

user_id, education, comment, citizenship
Как мне связать две таблицы? Я сделал класс User и User_Info, и у User_Info сделал поле user_id с ForeignKey('user.user_id'). Но фласк выдает ошибку:
Mapper mapped class User->user could not assemble any primary key columns for mapped table 'user'

Что я не так делаю? Как мне связать их?

4 ответов

21 просмотр

код показал бы ради приличия

Никита-Мадорский Автор вопроса
Vladislav
код показал бы ради приличия

class User(db.Model): user_id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) middle_name = db.Column(db.String(100), nullable=False) bornDate = db.Column(db.DateTime, default=datetime.strptime('01.01.1990', '%d.%m.%Y')) gender = db.Column(db.String(50)) def __repr__(self): return '<User %r>' % self.user_id class User_Info(db.Model): user_id = db.Column(db.Integer, db.ForeignKey('user.user_id')) education = db.Column(db.String(100)) comment = db.Column(db.Text, nullable=True) citizenship = db.Column(db.String(50)) def __repr__(self): return '<User_Info %r>' % self.user_id

Никита Мадорский
class User(db.Model): user_id = db.Column(db.I...

1) в User первичный ключ сделай просто id. 2) в User_Info ты даешь ключ на user.user_id. а как фласк должен понять, что есть user? 3) User_Info - не есть нормальное названи. UserInfo

Никита-Мадорский Автор вопроса
Ильяс Хакиев
1) в User первичный ключ сделай просто id. 2) в U...

Спасибо, но я не совсем понял как решить проблему. 1) По ТЗ надо сделать именно поле user_id. Для меня это тоже не очень нормально, но если я правильно понимаю, то на ошибку это не влияет, так ведь? 2) Вот тут не очень понял. Я думал фласк это понимает автоматически, когда я пишу название таблицы и он ищет эту таблицу в БД. Я должен как-то ему дать понять что есть таблица User? 3) Исправил, но это тоже не влияет на ошибку, как я понимаю

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта