如何检查(计数)返回的数据?
How to check (count) are returned data?
我在 Peewee 中得到了这个查询:
return c = Products.get(Products.sku == article).get()
如何检查是否有returns数据?
我试过了:
if c.count() > 0:
if len(c) > 0
它对我不起作用
这是完整代码:
try:
r = self.isProductExist(row['sku'])
## if (r.count() == 0):
except peewee.DoesNotExist:
# Insert product
def isProductExist(self, article):
return Products.get(Products.sku == article).get()
您可以使用 count()
.
这是一个工作代码:
import peewee
from peewee import *
db = SqliteDatabase('/tmp/a.db')
class Products(Model):
sku = CharField()
class Meta:
database = db
db.connect()
db.drop_tables(models=[Products], safe=True)
db.create_tables([Products])
count = Products.select().count()
print(count) #=> 0
if not count:
Products.create(sku="abc")
print(Products.select().count()) #=> 1
print(peewee.__version__) #=> 3.0.18
你的代码各种错误。
首先,这里不需要第二次调用"get()":
return c = Products.get(Products.sku == article).get()
其次,您正在返回一个毫无意义的赋值 (?)。更改为:
return Products.get(Products.sku == article)
如果产品存在,将被退回。如果不是,将引发 DoesNotExist 异常,从而无需在任何地方调用 "count()"。
要使代码在找不到产品的情况下也能正常工作:
try:
return Products.get(Products.sku == article)
except Products.DoesNotExist:
# Product was not found.
return
我在 Peewee 中得到了这个查询:
return c = Products.get(Products.sku == article).get()
如何检查是否有returns数据?
我试过了:
if c.count() > 0:
if len(c) > 0
它对我不起作用
这是完整代码:
try:
r = self.isProductExist(row['sku'])
## if (r.count() == 0):
except peewee.DoesNotExist:
# Insert product
def isProductExist(self, article):
return Products.get(Products.sku == article).get()
您可以使用 count()
.
这是一个工作代码:
import peewee
from peewee import *
db = SqliteDatabase('/tmp/a.db')
class Products(Model):
sku = CharField()
class Meta:
database = db
db.connect()
db.drop_tables(models=[Products], safe=True)
db.create_tables([Products])
count = Products.select().count()
print(count) #=> 0
if not count:
Products.create(sku="abc")
print(Products.select().count()) #=> 1
print(peewee.__version__) #=> 3.0.18
你的代码各种错误。
首先,这里不需要第二次调用"get()":
return c = Products.get(Products.sku == article).get()
其次,您正在返回一个毫无意义的赋值 (?)。更改为:
return Products.get(Products.sku == article)
如果产品存在,将被退回。如果不是,将引发 DoesNotExist 异常,从而无需在任何地方调用 "count()"。
要使代码在找不到产品的情况下也能正常工作:
try:
return Products.get(Products.sku == article)
except Products.DoesNotExist:
# Product was not found.
return