У меня есть запрос, который должен создать экземпляр лицензии и его часть выглядит как это:SQLAlchemy - Невозможно обновить таблицу, используя NULL для значения первичного ключа
license_obj = license_db.License()
license_db.Session.add(license_obj)
license_obj.start_date = license['start_date']
license_obj.expiry_date = license['expiry_date']
Я также добавил отношения license_status и license_status_id что указывает на LicenseStatus модели
Когда я пытаюсь связать значение по умолчанию для license_status_id, как показано ниже:
license_db.license_status_id = int(license_db.LicenseStatus.active().id)
тогда я получаю сообщение об ошибке:
"Can't update table "
FlushError: Can't update table using NULL for primary key value
, но когда я пытаюсь присвоить целое число вручную, как показано ниже, то он работает:
license_db.license_status_id = 1
Что вызывает проблему?
Если я печатаю license_db.LicenseStatus.active(). Id, тогда я получаю int равным 1, чего я хочу достичь.
Перемещение license_db.Session.add (лицензионный_объект) до конца кода разрешило мою проблему :) Спасибо! – Efrin