None не имеет типа «целое число».Python

Программы на Python
Ответить
Anonymous
 None не имеет типа «целое число».

Сообщение Anonymous »

my_app/openapi_server/impl/modelsImpl/supportModel.py
def insertCampaign(campaignInfo, user):
"""
insertCampaign
"""
dt_now = sfunc.getTimeNowStr()
mainImageUrl = "dummy"
stmt = insert(M_promotion_code).values(
period=campaignInfo.period,
# I added here
valid_days=campaignInfo.valid_days,
# I added here
)
result = db.session.execute(stmt)

В приведенном выше коде, если valid_days имеет значение NULL, появляется сообщение об ошибке: «None не имеет типа 'integer' - 'validDays'».
Вот как работает модель установлен, поэтому можно зарегистрировать NULL, но я не понимаю, почему возникает эта ошибка.
my_app/openapi_server/impl/models/m_promotion_code.py
class M_promotion_code(db.Model):
"""
promotion_table
"""
.
.
.
# I added here
valid_days = Column(INTEGER, nullable=True, comment="Valid Days")
# I added here


my_app//migrations/versions/1234_.py
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
.
.
.
op.add_column('m_promotion_codes', sa.Column('valid_days', sa.Integer(), nullable=True, comment='Valid Days'))
# ### end Alembic commands ###

def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
.
.
.
# ### end Alembic commands ###

Я попробовал это, но ничего не изменилось.
stmt = insert(M_promotion_code).values(
# ...other fields...
valid_days=campaignInfo.valid_days if campaignInfo.valid_days is not None else null(),
# ...other fields...
)


Подробнее здесь: https://stackoverflow.com/questions/792 ... pe-integer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»