Python SQLAlchemy-在模型内使用主键实例进行操作
我想从ID生成一些唯一的URL,目的是在某些端点的末尾追加。结果将类似于…/32dwr4。我想在实例化时根据主键id将这些短URL插入数据库 我不知道模型内部是否存在某种“冲洗”操作:Python SQLAlchemy-在模型内使用主键实例进行操作,python,sqlalchemy,Python,Sqlalchemy,我想从ID生成一些唯一的URL,目的是在某些端点的末尾追加。结果将类似于…/32dwr4。我想在实例化时根据主键id将这些短URL插入数据库 我不知道模型内部是否存在某种“冲洗”操作: class Storm(db.Model): id = db.Column(db.Integer, primary_key=True) _url = db.Column(db.String(200), index=True) ## Relationships @hybrid_p
class Storm(db.Model):
id = db.Column(db.Integer, primary_key=True)
_url = db.Column(db.String(200), index=True)
## Relationships
@hybrid_property
def url(self):
return self._url
@url.setter
def _set_url(self, plaintext):
self._url= base64.b64encode(plaintext)
def __init__(self, name, question, *):
self.name = name
self.question = question
self.url = self.id # <<------ is it possible to pass its id on the fly, convert it through the setter and store it?
class风暴(db.Model):
id=db.Column(db.Integer,主键=True)
_url=db.Column(db.String(200),index=True)
##关系
@杂化性
def url(自我):
返回self.\u url
@url.setter
定义设置url(自身,纯文本):
self._url=base64.b64encode(纯文本)
定义初始(自我、姓名、问题*):
self.name=名称
self.question=问题
self.url=self.id#非常感谢。这给了我多种解决方案,但考虑到我想将models.py与会话(在视图中调用)分开,我无法确定一个好的解决方案。。。我正在读这篇文章,但我想也是同样的问题。它需要将事件绑定到会话。有什么想法吗?现在我刚刚创建了一个新方法,我在init:def def addurl(self,storm_id):self.url=str(storm_id).encode()之后调用了它,非常感谢。这给了我多种解决方案,但考虑到我想将models.py与会话(在视图中调用)分开,我无法确定一个好的解决方案。。。我正在读这篇文章,但我想也是同样的问题。它需要将事件绑定到会话。有什么想法吗?现在我刚刚创建了一个新方法,在init:def-def-addurl(self,storm\u-id):self.url=str(storm\u-id).encode()之后调用