gpt4 book ai didi

python - Django:在 models.py 中 save() 期间 PositiveIntegerField 中 ManyToMany 字段的计数

转载 作者:行者123 更新时间:2023-12-01 00:46:45 25 4
gpt4 key购买 nike

我想在保存模型期间更改 ManyToMany 字段的计数。为此我修改了 save()。如果我运行 save(),计数将不会更新。如果我第二次运行保存而不更新字段,它将更新计数。

class UserProfile(models.Model):

follower = models.ManyToManyField('self', related_name='Followers',
blank=True, symmetrical=False)
following = models.ManyToManyField('self', related_name='Followings',
blank=True, symmetrical=False)
follower_count = models.PositiveIntegerField(null=True, blank=True,
editable=False)
following_count = models.PositiveIntegerField(null=True, blank=True,
editable=False)

class Meta:
verbose_name = 'User Profile'
verbose_name_plural = 'User Profiles'

def __str__(self):
return self.follower_count

def save(self, *args, **kwargs):
super(UserProfile, self).save(*args, **kwargs)
self.following_count = self.following.all().count()

self.follower_count = self.follower.all().count()
super(UserProfile, self).save(*args, **kwargs)

我想用 save() 更新计数。

最佳答案

 def save(self, *args, **kwargs):
self.following_count = self.following.all().count()
super(UserProfile, self).save(*args, **kwargs)

先获取计数,然后调用保存方法

关于python - Django:在 models.py 中 save() 期间 PositiveIntegerField 中 ManyToMany 字段的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56921561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com