我重写了我的Django模型save()方法,所以我可以对该对象进行一些额外的健全性检查。 (save()是否正确执行此操作?)
我的fixtures / initial_fixtures.yaml对象看起来没有调用save()方法。我怎样才能理智地检查我的装置?
答案 0 :(得分:8)
从Django 1.5开始,不调用save():
处理夹具文件时,数据将保存到数据库中 是。未调用模型定义的save()方法,以及任何pre_save或 post_save信号将仅使用raw = True调用 包含模型本地的属性。
答案 1 :(得分:2)
在夹具加载期间调用.save()
方法,如https://code.djangoproject.com/browser/django/tags/releases/1.3.1/django/core/management/commands/loaddata.py?rev=17029#L174
如果你使用不同的DJ版本,你可以检查一下,但我很确定它也会在旧版本中调用。
如何检查对象是否有save()
方法?
关于在.save()
中这样做,如果理智检查不重要,那么我认为这不是一个好主意。
答案 2 :(得分:1)
你的灯具被认为是好的数据,而不是有问题的输入,所以当你需要对它们进行健全检查时,我不确定这是一个好的案例。
如果您需要进行一次性初步验证,可以通过管理员或应用程序中的某些内容向数据库添加数据,然后将其导出为固定装置。