示例代碼:
def primary_function(object_id):
some_object = SomeObject.query.get(object_id)
# Do stuff here
secondary_function(unknown_parameter)
def secondary_function(unknown_parameter):
# Do more stuff here
這兩個功能都需要訪問some_object. 擁有物件本身是否更有效unknown_parameter,還是將其設定為object_id,然后再次呼叫會更好SomeObject.query.get(object_id)?
我在檔案中沒有看到任何關于此的內容(盡管我想我可能遺漏了一些東西),而且我在這里能找到的所有其他問題都是針對其他語言的,并且答案參差不齊。
uj5u.com熱心網友回復:
一般來說,當你使用 ORM 時,你會做第二個,但作為一種方法:
class Foo(Model):
def bar(self, param):
... work on self ...
如果您傳入object_id,這對于批量操作可能很有用,但請考慮傳入查詢集是否更適合您的用例:
def bar1(object_id, param):
queryset = session.query(Foo).where(id=object_id)
bar2(queryset, param)
def bar2(queryset, param):
queryset.update(...)
這樣,您可以bar2在更新單行或查詢集具有更復雜的 WHERE 子句時使用相同的方法 ()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/476514.html
標籤:Python 表现 sqlalchemy 烧瓶-sqlalchemy
上一篇:網頁抓取后如何分割線?
