如何在Django模型中为每个用户提供一个计数器字段?

时间:2019-03-02 08:04:57

标签: django python-3.x django-models

我想在我的Group1模型中提供一个计数器字段,即,每当用户创建一个新的group1对象时,它都会按原样保存该计数器...

例如:

如果用户创建一个新的group1对象,它将把计数器字段的值保存为1,然后将其保存为另一个新的group1对象的2,依此类推。 我想为每个用户执行此操作,即对于每个用户,计数器字段值应从1开始。

这是我的Group1模型:

class Group1(models.Model):
   counter = models.IntegerField()
   user = models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,null=True,blank=True)
   group_Name = models.CharField(max_length=32)

有人对如何执行此操作有任何想法吗?

1 个答案:

答案 0 :(得分:1)

您可以计算用户已经创建的组并将其添加到其中。

def group_create_view(request):
    user = request.user
    # Get the count for groups that this user has made and add one
    counter = Group1.objects.filter(user=user).count() + 1
    new_group = Group1.objects.create(user=user, counter=counter, group_name='some_name')