0
在我的模型有類似下面的類:獲取非重複實例列表的數據庫方法?
class Contact(models.Model):
group = models.CharField(max_length=200, blank=True)
name = models.CharField(max_length=100)
我想找到讓所有的組的列表的更好的方法。到目前爲止 我有兩個解決方案:
groups=[]
for contact in Contact.objects.all():
if not contact.group in groups:
groups.append(contact.group)
,第二個:
groups=set(contact.group for contact in Contact.objects.all())
我認爲,第二個是要好得多,因爲它使用的發電機,但我想知道是否有是一些數據庫方法,如filter, exclude , etc
,可以讓我這樣做。
這樣做的目的是優化用戶有很多聯繫但只有幾個組的情況。 (在這種情況下,可能使一類group
會更好,但我真的想避免)
是不壞,但它返回一個字典列表,類似於[{'group':'A'},{'group':'B'},{'group':'C'}],所以我需要額外的步驟來獲取聯繫人列表。我不知道我提出的解決方案2是不是更好 – rsm
我更改代碼,現在它返回值列表 –
是的,謝謝!這就是我正在尋找的 – rsm