Django 合并重复行
Django merge duplicate rows
我有一个table这样的。
id|name |user_id |amount|
--|---------------------|------------|------|
1|Name1 |1 | 4|
2|Name1 |1 | 7|
3|Name2 |1 | 5|
我想合并具有相同 name
和 user_id
的行,应该如下所示:
id|name |user_id |amount|
--|---------------------|------------|------|
1|Name1 |1 | 11|
2|Name2 |1 | 5|
Django ver = 3.1
你不必按字面意思合并,但你可以使用GROUP BY
来合并:
from django.db.models import Sum
YourModel.objects.values('name', 'user_id').annotate(total=Sum('amount')).values('name', 'user_id', 'total')
可以在 documentation of values()
中找到更多信息。
我有一个table这样的。
id|name |user_id |amount|
--|---------------------|------------|------|
1|Name1 |1 | 4|
2|Name1 |1 | 7|
3|Name2 |1 | 5|
我想合并具有相同 name
和 user_id
的行,应该如下所示:
id|name |user_id |amount|
--|---------------------|------------|------|
1|Name1 |1 | 11|
2|Name2 |1 | 5|
Django ver = 3.1
你不必按字面意思合并,但你可以使用GROUP BY
来合并:
from django.db.models import Sum
YourModel.objects.values('name', 'user_id').annotate(total=Sum('amount')).values('name', 'user_id', 'total')
可以在 documentation of values()
中找到更多信息。