【发布时间】:2011-06-09 13:51:17
【问题描述】:
我在以下模型上使用带有 Django 1.2.3 的转储数据:
class Bar(models.Model):
...
class Foo(models.Model):
bars = models.ManyToManyField(Bar, through="Foo_bar", blank=True, null=True)
...
class Foo_bar(models.Model):
foo = models.ForeignKey(Foo)
bar = models.ForeignKey(Bar)
status = models.IntegerField()
...
json 夹具序列化了 Foo 对象中与 Foos 关联的条,当我尝试使用夹具运行 loaddata 时导致 AttributeError:
AttributeError: Cannot set values on a ManyToManyField which specifies an intermediary model. Use App.Foo_bar's Manager instead.
根据我的read,dumpdata 可能已修复为不序列化 m2m,或者已修复 loaddata 以正确处理它们,但似乎并非如此。我已经尝试了 --natural 标志,仍然没有运气。有什么想法吗?
提前致谢。
【问题讨论】:
-
我看到了同样的行为。为什么它不适用于 m2m 字段?这对我来说似乎相当基本。你知道除了 dumpdata 之外还有什么其他方法可以让我的数据包含 json 格式的 m2m 字段吗?
标签: django serialization model many-to-many