Django ValueError:“值错误”&书信电报;模型对象>&引用;“字段”需要有一个值;Mrefs";在此之前,可以使用多对多关系
我在尝试添加多对多关系时遇到以下错误。只有在尝试添加多对多字段时,才会发生错误。同一个模型没有数据,可以对多个现场负载进行微调Django ValueError:“值错误”&书信电报;模型对象>&引用;“字段”需要有一个值;Mrefs";在此之前,可以使用多对多关系,django,Django,我在尝试添加多对多关系时遇到以下错误。只有在尝试添加多对多字段时,才会发生错误。同一个模型没有数据,可以对多个现场负载进行微调 Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/app/.virtualenvs/app/local/lib/python2.7/site-pack
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/app/.virtualenvs/app/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
File "/home/app/.virtualenvs/app/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/app/.virtualenvs/app/local/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/app/.virtualenvs/app/local/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute
output = self.handle(*args, **options)
File "/home/app/PycharmProjects/app/management/commands/import_data_csv.py", line 101, in handle
ManualRef.manual_reference = Manual.objects.get(mtype=mid)
File "/home/app/.virtualenvs/app/local/lib/python2.7/site-packages/django/db/models/fields/related.py", line 1188, in __set__
manager = self.__get__(instance)
File "/home/app/.virtualenvs/app/local/lib/python2.7/site-packages/django/db/models/fields/related.py", line 1178, in __get__
through=self.field.rel.through,
File "/home/app/.virtualenvs/app/local/lib/python2.7/site-packages/django/db/models/fields/related.py", line 831, in __init__
(instance, source_field_name))
ValueError: "<MODEL MODELobject>" needs to have a value for field "manual_reference" before this many-to-many relationship can be used
我的代码和我正在做的是:
mid = MType.objects.get(description =row[16])
ManRef = ManualRefs()
Man = Manual()
for refer in references:
types, reference = refer.split(':', 1)
ManRef.reference_type = types
ManRef.reference = reference
ManRef.manual_reference = Manual.objects.get(mtype=mid)
ManRef.save()
Man.save()
ManRef.Manual.add(ManRef)
我做错了什么?谢谢要访问
多个
字段,必须先将对象保存到数据库中。这意味着您只能在ManRef.manual\u reference=manual.objects.get(mtype=mid)
之后执行ManRef.save()。这意味着您只能在
ManRef.save()之后执行ManRef.manual\u reference=manual.objects.get(mtype=mid)
mid = MType.objects.get(description =row[16])
ManRef = ManualRefs()
Man = Manual()
for refer in references:
types, reference = refer.split(':', 1)
ManRef.reference_type = types
ManRef.reference = reference
ManRef.manual_reference = Manual.objects.get(mtype=mid)
ManRef.save()
Man.save()
ManRef.Manual.add(ManRef)