Size: a a a

2021 August 31

V

Vladi in Python Flask
// The sqlalchemy orm needs a primary key for each mapped table.
источник

НМ

Никита Мадорский... in Python Flask
Ну
источник

НМ

Никита Мадорский... in Python Flask
Получается так как я написал?
источник

V

Vladi in Python Flask
а попробовать никак?
источник

НМ

Никита Мадорский... in Python Flask
источник

НМ

Никита Мадорский... in Python Flask
Null
источник

V

Vladi in Python Flask
Ошибка пропала? Остальное смотри по коду
источник

НМ

Никита Мадорский... in Python Flask
Ошибка пропала, спасибо большое. Но не могу понять в чем проблема. Как мне дать понять фласку что необходимо идти в таблицу User? Почему он не подцепляет user_id?
источник

V

Vladi in Python Flask
Код как всегда просить?
источник

НМ

Никита Мадорский... in Python Flask
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 UserInfo(db.Model):
   id = db.Column(db.Integer, primary_key=True)
   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 '<UserInfo %r>' % self.user_id
источник

V

Vladi in Python Flask
Обычно работа с детьми происходит через связи, связи в моделях у тебя отсутствуют
источник

V

Vladi in Python Flask
Твои модели видел, речь идет о создании новых записей по коду
источник

НМ

Никита Мадорский... in Python Flask
@app.route('/', methods=['POST', 'GET'])
def index():
   if request.method == 'POST':
       name = request.form['userName']
       middle_name = request.form['userSurname']
       bornDate = request.form['dateBorn']
       gender = request.form['gender']
       user = User(name=name, middle_name=middle_name, bornDate=bornDate, gender=gender)

       education = request.form['education']
       comment = request.form['comment']
       citizenship = request.form['citizen']
       user_info = UserInfo(education = education, comment = comment, citizenship=citizenship)
       try:
           db.session.add(user)
           db.session.commit()
           db.session.add(user_info)
           db.session.commit()
           return render_template("picture.html")
       except:
           return 'FAILURE'
   else:
       return render_template("picture.html")
источник

V

Vladi in Python Flask
Ты в юзер инфо не прописал айди юзера, либо создай связь в юзере и через эту связь добавляй юзер инфо
источник

V

Vladi in Python Flask
UserInfo(user_id=user.id ....
источник

V

Vladi in Python Flask
Лучше конечно через связь, тогда будет сам записываться
источник

KA

Kirill Akopov in Python Flask
Всем привет!
Задам вопрос о правильности направления. Использую SqlAlchemy.
Верно ли, что MetaData позволит мне без проблем создавать модели на лету, ну или, например, из данных, взятых из БД?
источник

V

Vladi in Python Flask
источник

НМ

Никита Мадорский... in Python Flask
Чтобы создать связь для этого нужно еще одно какое-то дополнительное поле где я пропишу db.relationship? Или я могу в какое-то поле из существующих связь такую добавить?
источник

V

Vladi in Python Flask
Связь не является полем в таблице
источник