Django如何在get查询中使用变量?

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()

如果我使用jgrp=group.objects.get(groupname=“初学者”),这段代码可以工作,但不接受变量?
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