Python Django模型外键返回ID
我一直在尝试搜索论坛来获得答案,但搜索起来似乎有点棘手 我有一个从django用户表中提取用户的模型:Python Django模型外键返回ID,python,django,model-view-controller,Python,Django,Model View Controller,我一直在尝试搜索论坛来获得答案,但搜索起来似乎有点棘手 我有一个从django用户表中提取用户的模型: class trendingidea(models.Model): iname = models.CharField(unique=True, max_length=15) idea = models.TextField(unique=True) submittedon = models.DateTimeField() suppo
class trendingidea(models.Model):
iname = models.CharField(unique=True, max_length=15)
idea = models.TextField(unique=True)
submittedon = models.DateTimeField()
support = models.PositiveSmallIntegerField()
readbyadmin = models.BooleanField()
feasibilitycheck = models.BooleanField()
submittedby = models.ForeignKey(User,related_name="submitted_by")
assignedto = models.ForeignKey(User, blank=True, null=True, related_name="assignedto")
但是,当我查询数据库并提取信息时:
ti=list(trendingidea.objects.values())
[{'readbyadmin': False, 'id': 1, 'idea': 'cisco', 'feasibilitycheck': True, 'submittedby_id': 1, 'support': 1, 'submittedon': datetime.datetime(2017, 11, 6, 11, 8, 10, tzinfo=<UTC>), 'iname': 'cisoc', 'assignedto_id': 1}]
打印(ti)
[{'readbyadmin': False, 'id': 1, 'idea': 'cisco', 'feasibilitycheck': True, 'submittedby_id': 1, 'support': 1, 'submittedon': datetime.datetime(2017, 11, 6, 11, 8, 10, tzinfo=<UTC>), 'iname': 'cisoc', 'assignedto_id': 1}]
[{'readbyadmin':False,'id':1,'idea':'cisco','feasibilitycheck':True,'submittedby_id':1,'support':1,'submitteddon':datetime.datetime(2017,11,6,11,8,10,tzinfo=),'iname':'cisoc','assignedto_id':1}]
代替由提交的和分配给的它给了我由_id提交的:1和分配给_id的:1
我想要的是用户名,而不是他们的ID。
有没有办法做到这一点?您可以通过引用前缀为
\uuu
的相关字段。唯一的缺点是您还必须列出所有其他字段:
trendingidea.objects.values('readbyadmin',
'id',
'idea',
'submittedon',
'support',
'readbyadmin',
'feasibilitycheck',
'submittedby__name',
'assignedto__name')
请注意,您的词典将有由\uuu name提交
和分配给\uu name
键