python实例变量不存在_python – peewee实例匹配查询不存在

我有以下代码,我在查询我的peewee数据库.我在具有term.sets_term_id的行上的for循环中收到错误.这是错误TermsDoesNotExist:实例匹配查询不存在:如果我执行变量(term),则sets_terms_id是一个选项.为什么我会收到该错误以及如何解决?

def get_api_response(id):

response = {}

print("id is " + str(id))

try:

sets = models.Sets.select().where(models.Sets.user_id == id)

except models.DoesNotExist:

return json.loads({'error' : 'that set does not exist'})

else:

print("it was successful")

for term in sets:

print(term.sets_term_id)

这是我的套装和条款模型

class Terms(UserMixin, BaseModel):

term_id = CharField()

sets_id = CharField()

rank = IntegerField()

term = TextField()

definition = TextField()

@classmethod

def include_term(cls, set_id, term_id, definition, rank, term, **kwards):

try:

cls.select().where(cls.term_id == term_id).get()

except cls.DoesNotExist:

print("putting term into db")

concept = cls(

sets_id = set_id,

term_id = term_id,

definition = definition,

rank = rank,

term= term)

concept.save()

print(concept.term)

print("term saved to db")

return concept

else:

raise Exception("Term with that id already exists")

class Sets(UserMixin, BaseModel):

user_id = CharField()

name_set = CharField()

#created_date = DateField()

#modified_date = DateField()

#published_date = DateField()

sets_term_id = ForeignKeyField(Terms, to_field="sets_id")

@classmethod

def include_set(cls, user_id, name_set, sets_term_id, **kwards):

try:

cls.select().where(

(cls.name_set == name_set) | (cls.sets_term_id == sets_term_id)

).get()

except cls.DoesNotExist:

print("putting set into db")

quizlet_set = cls(

user_id = user_id,

name_set = name_set,

sets_term_id = sets_term_id)

print(quizlet_set.name_set)

quizlet_set.save()

print("set saved in db")

return quizlet_set

else:

raise Exception("Set with that name already exists")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值