首页 > 解决方案 > 如何在 django 模型中为每个用户提供一个计数器字段?

问题描述

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

例如:

如果用户创建一个新的 group1 对象,它会将计数器字段值保存为 1,然后将 2 保存为另一个新的 group1 对象,依此类推。我想为每个用户执行此操作,即每个用户的计数器字段值应该从 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)

有谁知道如何执行此操作?

标签: djangopython-3.xdjango-models

解决方案


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

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')

推荐阅读