Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用GROUPBY和Join访问对象用户(django admin)?_Python_Django_Django Queryset - Fatal编程技术网

Python 如何使用GROUPBY和Join访问对象用户(django admin)?

Python 如何使用GROUPBY和Join访问对象用户(django admin)?,python,django,django-queryset,Python,Django,Django Queryset,当我使用group by和join时,如何访问对象用户(来自django administration) 我的问题是: Idea.objects.values("author_id").annotate( total=Count('author_id')) 运行此查询时,我得到以下结果: <QuerySet [{'author_id': 1, 'total': 6}, {'author_id': 2, 'total': 8}]> 我不能这样做:d.author.u

当我使用group by和join时,如何访问对象
用户
(来自django administration)

我的问题是:

Idea.objects.values("author_id").annotate(
        total=Count('author_id'))
运行此查询时,我得到以下结果:

<QuerySet [{'author_id': 1, 'total': 6}, {'author_id': 2, 'total': 8}]>
我不能这样做:
d.author.user.email

我的模型:

class UserProfile(models.Model):
    user = models.OneToOneField('auth.User', on_delete=models.PROTECT)
    use_term_accept = models.NullBooleanField(default=False)
    manager = models.NullBooleanField(default=False)

    def __str__(self):
        return self.user.username

class Idea(models.Model):
    title = models.CharField(max_length=200)
    creation_date = models.DateTimeField('data criação')
    author = models.ForeignKey('users.UserProfile', on_delete=models.CASCADE, related_name='old_author')
    authors = models.ManyToManyField('users.UserProfile', related_name='authors')
    deleted = models.BooleanField(default=False)

通过将
作者用户电子邮件
添加到
方法,可以将
作者用户电子邮件
键添加到结果中

示例

Idea.objects.values("author_id", "author__user__email").annotate(
    total=Count('author_id'))
Idea.objects.values("author_id", "author__user__email").annotate(
    total=Count('author_id'))