Python &引用&书信电报;索赔文件:测试>&引用;“字段”需要有一个值;id";
将Python &引用&书信电报;索赔文件:测试>&引用;“字段”需要有一个值;id";,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,将ManyToMany字段添加到ClaimDocument后,我收到以下错误: “”需要为字段“id”设置一个值,才能使用此多对多关系。但我的ClaimDocument模型中没有测试字段。这是我的密码: models.py: class Document(models.Model): created_date = models.DateTimeField(default=timezone.now) added_by = CurrentUserField() assigne
ManyToMany
字段添加到ClaimDocument后,我收到以下错误:
“”需要为字段“id”设置一个值,才能使用此多对多关系。
但我的ClaimDocument
模型中没有测试
字段。这是我的密码:
models.py
:
class Document(models.Model):
created_date = models.DateTimeField(default=timezone.now)
added_by = CurrentUserField()
assigned = models.ManyToManyField(CustomUser, related_name='assigned', blank=True, null=True)
class CreateClaimDocumentForm(ModelForm):
def save(self, commit=False):
document = super(CreateClaimDocumentForm, self).save(commit=False)
ClaimDocument.objects.create(
assigned = document.assigned,
...
forms.py
:
class Document(models.Model):
created_date = models.DateTimeField(default=timezone.now)
added_by = CurrentUserField()
assigned = models.ManyToManyField(CustomUser, related_name='assigned', blank=True, null=True)
class CreateClaimDocumentForm(ModelForm):
def save(self, commit=False):
document = super(CreateClaimDocumentForm, self).save(commit=False)
ClaimDocument.objects.create(
assigned = document.assigned,
...
Django文档中的示例: 请注意,如果您使用的是中间体 多对多关系的模型,一些相关经理的 方法被禁用,因此这些示例中的一些无法用于此类 模型
如错误所述,在使用此
m2m
关系之前,您需要在字段id
中有一个值ID
是充当主键的所有型号的固有字段。因此,只需先创建文档
模型,然后指定m2m-CustomUser
创建文档,然后添加相关对象即可。我怎么知道,先生?问题解决了吗?AzyCrw4282,不,先生。你能用密码解释我吗,先生?我真的什么都不懂这里面没有代码。您只需通过执行cmds创建模型:makemigrations和migrate,然后在之后应用m2m,它就可以工作了。