json - 如何在 Django 中使用多对多关系加载 fixtures.json

假设您必须创建一个数据库,用于存储图书馆的所有图书和世界各地的所有作者。 每本书都在名为 books.json 的文件中,每个作者都在名为 authors.json 的文件中 然后,您想在这些表之间创建一个链接,其中一本书可以有一个或多个作者。 我所做的是创建所需的模型,然后加载 authors.json,然后当我尝试加载 books.json 时出现错误:django.core.serializers.base.DeserializationError: Problem installing fixture '/workspace/libray/books/fixtures/books.json':

class book(models.Model):
     name =models.CharField(max_length=254, blank=True, null=True, on_delete=SET_NULL)
     authors = models.ManyToManyField(author)



class authors(models.Model):
        name = models.Charfield(max_length=100, blank=True, null=True, on_delete=SET_NULL)


   books.json
[ 
   {
    "pk":1,
    "model":books.book,
    "fields":{
              "name":"Book1",
              "authors":[1,2,3]
              }
    },
    ...
 ]

authors.json
[ 
   {
    "pk":1,
    "model":books.author,
    "fields":{
              "name":"Author1",
            }
    },
    ...
 ]

当模型之间存在M2M关系时,如何正确加载一些fixture。

最佳答案

首先在模型中添加一些测试数据,然后运行 ​​python manage.py dumpdata myapp > somefile.json

然后瞧,你就有了夹具模板。

https://stackoverflow.com/questions/64451912/

相关文章:

hyperledger-fabric - super 账本结构 2.0 : Chaincode co

react-native - 在 React Native 中的数组或对象内部时,i18n 无法正确

python - 来自代码编辑器的 common.py 文件的断言错误

javascript - 从 MapBox GL JS 中的聚类中排除某些功能

ios - 带有 iOS 14 设备的 Xcode 10 - 尝试与此设备通信时遇到错误。 (该服务

reactjs - 无法查询类型 "x"上的字段 "y"

python-3.x - python 中的 sys.exit 给出一个 SystemExit 错误

r - 以编程方式将 R Shiny 应用程序作为后台作业启动

python - 为什么 patch.contains_point() 在检查点是否在多边形内时与

apache-spark - 无法使用 Apache Hudi 编写非分区表