initial_data.json 不論在django flush, syncdb 之後都會自動建立
fixtures 可以藉由 TestCase 的繼承來達到繼承和共用
fixtures 通常是比較乾淨的作法,但是也相對不靈活,我最後還是拿掉了大部分的 fixtures ,寧願自己建立 creation / deployement process
如果 fixtures 包含 auth.user 則在 syncdb 之後相對應的 auth.permission 會被自動建立。
在使用不同 database engine 的時候可以避免使用 auth.permissions fixtures 以避免 id 衝突 IntegrityError: columns content_type_id, codename are not unique ,如果有自設的 permissions 也可以讓資料先在 sqlite3 建立後再 dump 出來,這樣在用 sqlite3 做測試的時候才不會發生以上問題。
使用範例:
python manage.py dumpdata --indent 4 -n -e contenttypes -e auth.permission -e session > initial_data.json
沒有留言:
張貼留言