【发布时间】:2014-10-08 12:02:49
【问题描述】:
我切换到 Django 1.7。当我为我的应用程序尝试 makemigrations 时,它崩溃了。崩溃报告是:
Migrations for 'roadmaps':
0001_initial.py:
- Create model DataQualityIssue
- Create model MonthlyChange
- Create model Product
- Create model ProductGroup
- Create model RecomendedStack
- Create model RecomendedStackMembership
- Create model RoadmapMarket
- Create model RoadmapUser
- Create model RoadmapVendor
- Create model SpecialEvent
- Create model TimelineEvent
- Create model UserStack
- Create model UserStackMembership
- Add field products to userstack
- Add field viewers to userstack
- Add field products to recomendedstack
- Add field product_group to product
- Add field vendor to product
- Add field product to dataqualityissue
Traceback (most recent call last):
File "manage.py", line 29, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 338, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/makemigrations.py", line 124, in handle
self.write_migration_files(changes)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/makemigrations.py", line 152, in write_migration_files
migration_string = writer.as_string()
File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/writer.py", line 129, in as_string
operation_string, operation_imports = OperationWriter(operation).serialize()
File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/writer.py", line 80, in serialize
arg_string, arg_imports = MigrationWriter.serialize(item)
File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/writer.py", line 245, in serialize
item_string, item_imports = cls.serialize(item)
File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/writer.py", line 310, in serialize
return cls.serialize_deconstructed(path, args, kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/writer.py", line 221, in serialize_deconstructed
arg_string, arg_imports = cls.serialize(arg)
File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/writer.py", line 323, in serialize
raise ValueError("Cannot serialize function: lambda")
ValueError: Cannot serialize function: lambda
我在https://code.djangoproject.com/ticket/22892找到了一个关于此的注释
还有文档链接https://docs.djangoproject.com/en/dev/topics/migrations/#serializing-values
但这并没有让我更清楚。错误消息没有给我提示在哪里寻找问题。
有什么方法可以检测出究竟是哪条线路导致了问题?
有什么提示吗?
【问题讨论】:
-
你的字段
Product.dataqualityissue是什么样的? -
@Alasdair 是
product = models.ForeignKey(Product, blank=True, null=True) -
好的,该字段看起来没问题。您是否在
Product模型或您的任何其他模型中使用 lambda 函数? -
@Alasdair 不,至少我不知道。我不知道是什么型号导致了崩溃,所以我无法进一步调查。
-
除非你展示你的模型,否则很难帮助你。