首页 > 解决方案 > 我怎样才能删除一个Django QuerySet 中的对象

问题描述

我在 Django 中有这个查询集(我们称之为 qs),它有 3 个不同的对象实例。除了图像文件之外,其中两个是相同的:

    <QuerySet [
    
    {'investment__name': 'Stefano', 'investment__net_returns': Decimal('11.00'), 
    'investment__my_images__image': '**investments/None/IMG01.JPG**'}
    
    {'investment__name': 'Stefano','investment__net_returns': Decimal('11.00'),
    'investment__my_images__image': '**investments/None/IMG02.JPG**'},
    
    {'investment__name': 'Alberto','investment__net_returns': Decimal('22.00'),
    'investment__my_images__image': '**investments/None/IMG03.JPG**'}
    
    ]>

我只想在模板中呈现查询集的第一个对象和第三个对象。我正在尝试删除第二个,但我不知道如何删除查询集对象。

我尝试的方式是这样的:

    inv=""
    for i,investment_instance in enumerate(qs):
        if investment_instance['investment__name']==inv:
            investment_instance.delete()
        else:
            inv=investment_instance['investment__name']
            im=investment_instance['investment__my_images__image']

但当然invest_instance.delete() 不起作用。

有任何想法吗?

标签: python-3.xdjangodjango-viewsdjango-queryset

解决方案


假设您将 QuerySet 存储在“temp_query”变量中

temp_query = 列表(temp_query)

del temp_query[1] // 从列表中删除第二个元素。


推荐阅读