我有两个模型配置文件和事件。我想将用户创建的事件数保存到用户配置文件中,这样即使删除了事件,记录也会保留在用户配置文件中。
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
total_events = models.IntegerField(default=0)
class Event(models.Model):
user = models.ForeignKey(User, related_name='seller')
...
以下是我的观点
class CreateEvent(IsVerifiedMixin, CreateView):
model = Event
form_class = EventForm
template_name = 'event/event_form.html'
def form_valid(self, form, *args, **kwargs):
self.object = form.save(commit=False)
self.object.user = self.request.user
print(self.object.user.profile.total_events) #This prints 0
self.object.user.profile.total_events += 1
print(self.object.user.profile.total_events) # This prints 1
self.object.user.profile.total_events.save() # If I don't use this statement it does not save to database. But It gives me the above error
self.object.save()
return super().form_valid(form)
这条线
self.object.user.profile.total_events.save()
给了我错误
如何修复此错误。我试图添加一个变量并保存该变量,但仍然得到相同的错误