社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

django admin在列表中添加额外字段

Manuel Santi • 5 年前 • 733 次点击  

在我的项目中,我有一个表有另一个表的外键。 在django admin中,我将显示两个表中的字段。 这是我的原始模型:

class t_time(models.Model):
    history_main = models.IntegerField(default=0)
    elapsed_t = models.DecimalField(max_digits=20, decimal_places=6, default=Decimal('0.0000'))

在admin.py中,我试图从表中提取并向视图中添加额外的字段,但可能在某些方面我错了。我试着这样覆盖get-queryset:

class t_timeAdmin(admin.ModelAdmin):
    list_display = ('id','hist_data','elapsed_t')

    def get_queryset(self, request):
        queryset = super().get_queryset(request)
        myqs = t_history.objects.get(id=t_time.history_main)
        queryset = queryset.annotate(
            _hist_data=myqs.test_type,
            #_villain_count=Count("villain", distinct=True),
        )
        return queryset

    def hist_data(self, obj):
        return obj._hist_data

但是我得到一个关于返回类型(int)的错误,它可能与annotate()指令有关。 如何将查询中的额外字段添加到django管理视图中?

非常感谢你

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/41188
 
733 次点击  
文章 [ 1 ]  |  最新文章 5 年前