【发布时间】:2021-09-05 10:57:39
【问题描述】:
我正在尝试保存一个 M2M 对象(将其设置为默认值,即 position= 1 的那个) 当我用管理员登录时就可以了。
我收到以下错误的问题:
在使用这种多对多关系之前需要为字段“id”设置一个值
模型.py
class Categorymodel(models.Model):
title=models.CharField(max_length=100)
slug=models.CharField(max_length=100,unique=True)
status=models.BooleanField(default=True)
position=models.IntegerField()
def __str__(self) -> str:
return self.title
class Reportmodel(models.Model):
subject=models.CharField(max_length=100)
category=models.ManyToManyField(Categorymodel,related_name='info')
user=models.ForeignKey(User,on_delete=models.CASCADE)
Mixin.py
class FormValidMixin():
def form_valid(self,form):
if self.request.user.is_admin:
form.save()
else:
category1=(Categorymodel.objects.get(position=1))
self.obj=form.save(commit=False)
self.obj.user=self.request.user
self.obj.category.set(category1)
【问题讨论】:
-
请将完整的错误回溯添加到您的问题中!
标签: python django django-views