如果我想从数据库中名为season
的Django模型中的SeasonsNavOrder
字段中获取不同值的列表,我可以使用以下语法:
seasonlist = SeasonsNavOrder.objects.values_list('season', flat=True).distinct()
但是如果我想从非数据库对象列表中获取不同的值呢?特别是,我有以下对象列表:
[<bridge.models.Season object at 0x10226e290>, <bridge.models.Season object at 0x10226e350>, <bridge.models.Season object at 0x10226ef50>, <bridge.models.Season object at 0x10226eed0>]
每个对象都有一个season
属性,我想将其提取到与第一种情况下列表结构相同的列表中。
显然我可以编写一个for循环来遍历对象并将season
属性附加到列表中,但这似乎效率低下。还有更好的方法吗?
答案 0 :(得分:0)
您可以使用sets
根据定义,集合是不同对象的集合。
your_list = [<bridge.models.Season object at 0x10226e290>, <bridge.models.Season object at 0x10226e350>, <bridge.models.Season object at 0x10226ef50>, <bridge.models.Season object at 0x10226eed0>]
your_set = Set(your_list)
your_set
包含your_list
中包含但没有重复项的所有对象。