Python 迁移错误\uuuuu伪\uuuuuu。不存在:标记匹配查询不存在
迁移Python 迁移错误\uuuuu伪\uuuuuu。不存在:标记匹配查询不存在,python,django,python-3.x,Python,Django,Python 3.x,迁移 def add_startup_data(apps, schema_editor): Startup = apps.get_model('organiser', 'Startup') Tag = apps.get_model('organiser', 'Tag') for startup in STARTUPS: startup_object = Startup.objects.create( name=startup['na
def add_startup_data(apps, schema_editor):
Startup = apps.get_model('organiser', 'Startup')
Tag = apps.get_model('organiser', 'Tag')
for startup in STARTUPS:
startup_object = Startup.objects.create(
name=startup['name'],
slug=startup['slug'],
contact=startup['contact'],
description=startup['description'],
founded_date=startup['founded_date'],
website=startup['website'])
for tag_slug in startup['tags']:
var=Tag.objects.get(slug=tag_slug)
startup_object.tags.add(var)
def remove_startup_data(apps, schema_editor):
Startup = apps.get_model(
'organiser', 'Startup')
for startup in STARTUPS:
startup_object = Startup.objects.get(
slug=startup['slug'])
startup_object.delete()
class Migration(migrations.Migration):
dependencies = [
('organiser', '0002_tag_data'),
]
operations = [
migrations.RunPython(
add_startup_data,
remove_startup_data)
]
我得到以下错误:
self.model._meta.object_name
__fake__.DoesNotExist: Tag matching query does not exist.
我似乎无法修复它。我尝试了
get\u object\u或\u 404
,但它只会导致另一个错误捕获标记。DoesNotExist
异常如下:
for tag_slug in startup['tags']:
try:
var=Tag.objects.get(slug=tag_slug)
startup_object.tags.add(var)
except Tag.DoesNotExist:
pass
get\u object\u或_404
快捷方式捕获异常并引发Http404
。在视图中执行此操作时,将导致Django显示404错误页面。在迁移中使用get\u object\u或\u 404
没有意义,因为它不是视图