大佬教程收集整理的这篇文章主要介绍了Flask psycopg2.errors.NotNullViolation) 关系 \"message\" 列 \"category_id\" 中的空值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法删除与消息模型有关系的类别
我在 db 有检查值并且外键已经存在
完整回复:
{
"error": "(psycopg2.errors.NotNullViolation) null value in column \"category_ID\" of relation \"message\" violates not-null consTraint\nDETAIL: Failing row contains (2,ruby,202,2021-02-13 19:03:01.818877,null,f).\n\n[sql: updatE message SET category_ID=%(category_ID)s WHERE message.ID = %(message_ID)s]\n[parameters: {'category_ID': None,'message_ID': 2}]\n(BACkground on this error at: http://sqlalche.me/e/13/gkpj)"
}
在 API/vIEws/security.py
from flask_httpauth import httpBasicAuth
auth = httpBasicAuth()
class Authrequiredresource(resourcE):
method_decorators = [auth.login_required]
在 API/vIEws/category.py
class categoryresource(AuthrequiredresourcE):
def delete(self,ID):
category = categorymodel.query.get_or_404(ID)
try:
category.delete(category)
return "",status.http_204_NO_CONTENT
except sqlAlchemyError as e:
db.session.rollBACk()
return {"error": str(E)},status.http_400_BAD_requEST
在 API/models/generic.py
class Addupdatedelete:
def add(self,resourcE):
db.session.add(resourcE)
return db.session.commit()
def update(self):
return db.session.commit()
def delete(self,resourcE):
db.session.delete(resourcE)
return db.session.commit()
在 API/models/category.py
class categorymodel(db.Model,AddupdateDelete):
__tablename__ = "category"
ID = db.column(db.Integer,priMary_key=True,autoincrement=TruE)
name = db.column(db.String(150),unique=True,nullable=False)
def __init__(self,Name):
self.name = name
在 API/models/message.py
class messageModel(db.Model,AddupdateDelete):
__tablename__ = "message"
ID = db.column(db.Integer,priMary_key=TruE)
message = db.column(db.String(250),nullable=False)
duration = db.column(db.Integer,nullable=False)
creation_date = db.column(
db.timestAMP,server_default=db.func.CURRENT_TIMESTAMP(),nullable=False
)
category_ID = db.column(
db.Integer,db.ForeignKey("category.ID",ondelete="CASCADE"),nullable=False
)
category = db.relationship(
"categorymodel",BACkref=db.BACkref(
"messages",lazy="dynamic",order_by="messageModel.creation_date"
),)
printed_times = db.column(db.Integer,nullable=False,server_default="0")
printed_once = db.column(db.Boolean,server_default="false")
def __init__(self,message,duration,category):
self.message = message
self.duration = duration
self.category = category
删除类别的请求和响应
See request & response
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的Flask psycopg2.errors.NotNullViolation) 关系 \"message\" 列 \"category_id\" 中的空值全部内容,希望文章能够帮你解决Flask psycopg2.errors.NotNullViolation) 关系 \"message\" 列 \"category_id\" 中的空值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。