Django如何在get查询中使用变量?
如果我使用jgrp=group.objects.get(groupname=“初学者”),这段代码可以工作,但不接受变量?Django如何在get查询中使用变量?,django,django-models,Django,Django Models,如果我使用jgrp=group.objects.get(groupname=“初学者”),这段代码可以工作,但不接受变量? DoesNotExist:组匹配查询不存在。组是一个对象,您需要组的名称。因此,很可能=juser.group.name我认为您需要做的就是用以下内容替换最后一行: class accounts(models.Model): twitterid = models.IntegerField() credit = models.IntegerField()
DoesNotExist:组匹配查询不存在。
组是一个对象,您需要组的名称。因此,很可能=juser.group.name
我认为您需要做的就是用以下内容替换最后一行:
class accounts(models.Model):
twitterid = models.IntegerField()
credit = models.IntegerField()
activate = models.TextField()
group = models.TextField()
ban = models.TextField(blank=True)
others = models.TextField()
class group(models.Model):
groupname = models.TextField()
groupfollowers = models.IntegerField()
userid = request.session['userid']
juser = accounts.objects.get(twitterid=int(userid))
jgrp = group.objects.get(groupname=juser.group)
jgrp=group.objects.get(groupname=juser.group)
此代码完全有效。问题是,您的account.group值没有对应的组对象
我还认为,对于关系数据库来说,您的数据模型并不理想。我认为您的帐户模型到组模型之间应该有一个外键,这样您就可以按照@knapo的建议使用juser.group了。您确定juser.group是一个字符串名称而不是对象本身吗?您的语法似乎正确,但我猜您使用的juser.group不正确。它“不接受变量”是什么意思?你有什么错误?我的猜测是,juser.group
不是一个字符串,但是如果没有关于错误的详细信息,很难判断。请发布您收到的错误。你们的模型有点奇怪,(你们可能使用外键等等),但一切似乎都很好。我们需要看到错误。可能是accounts.group
需要是CharField
而不是TextField
。我不知道。我现在编辑问题并共享我的模型。您可以重新阅读。juser.group
为空,并且您的帐户
未连接到group
模型,因此,如果您认为这样做可行,您可能会出错。
jgrp = juser.group