如何解决Model.query.get(data['id']) 返回 None
我正在开发一个微服务,管理员使用 Django,主应用程序使用 Flask。每当我更新数据库中的模型实例时,理想情况下,队列应该将实例打印到我的控制台,而不是返回 None。
Main Flask 应用上的消费者
params = pika.URLParameters('some URL')
connection = pika.BlockingConnection(params)
channel = connection.channel()
channel.queue_declare(queue='main')
def callback(ch,method,properties,body):
print('Recieved in main')
data = json.loads(body)
print(data)
if properties.content_type == 'product_created':
product = Product(id=data['id'],title=data['title'],image=data['image'])
# Create object with SQLAlchemy
db.session.add(product)
db.session.commit()
print('Product Created')
elif properties.content_type == 'product_updated':
product = Product.query.get(data['id'])
product.title = data['title']
product.image = data['image']
db.session.commit()
print('Product Updated')
elif properties.content_type == 'product_deleted':
product = Product.query.get(data)
db.session.delete(product)
db.session.commit()
print('Product Deleted')
channel.basic_consume(queue='main',on_message_callback=callback,auto_ack=True)
print('Started Consuming')
channel.start_consuming()
channel.close()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。