それらを適切に実行するために必要なだけのオブジェクトを持っている私のテストでdef setUp(self):
下倍の User.objects.create_user(..
トンのようなものを書く必要はありませんと思います。 --natural
引数で動作しますdumpdata
私にとって
、contenttypes
除くその後、これらのみが残っていることを手動でいくつかのauth.permission
エントリを削除:
{
"pk": 1,
"model": "auth.permission",
"fields": {
"codename": "add_permission",
"name": "Can add permission",
"content_type": [
"auth",
"permission"
]
}
},
{
"pk": 2,
"model": "auth.permission",
"fields": {
"codename": "change_permission",
"name": "Can change permission",
"content_type": [
"auth",
"permission"
]
}
},
{
"pk": 3,
"model": "auth.permission",
"fields": {
"codename": "delete_permission",
"name": "Can delete permission",
"content_type": [
"auth",
"permission"
]
}
},
{
"pk": 4,
"model": "auth.permission",
"fields": {
"codename": "add_group",
"name": "Can add group",
"content_type": [
"auth",
"group"
]
}
},
{
"pk": 5,
"model": "auth.permission",
"fields": {
"codename": "change_group",
"name": "Can change group",
"content_type": [
"auth",
"group"
]
}
},
{
"pk": 6,
"model": "auth.permission",
"fields": {
"codename": "delete_group",
"name": "Can delete group",
"content_type": [
"auth",
"group"
]
}
},
{
"pk": 7,
"model": "auth.permission",
"fields": {
"codename": "add_user",
"name": "Can add user",
"content_type": [
"auth",
"user"
]
}
},
{
"pk": 8,
"model": "auth.permission",
"fields": {
"codename": "change_user",
"name": "Can change user",
"content_type": [
"auth",
"user"
]
}
},
{
"pk": 9,
"model": "auth.permission",
"fields": {
"codename": "delete_user",
"name": "Can delete user",
"content_type": [
"auth",
"user"
]
}
},
{
"pk": 10,
"model": "auth.permission",
"fields": {
"codename": "add_contenttype",
"name": "Can add content type",
"content_type": [
"contenttypes",
"contenttype"
]
}
},
{
"pk": 11,
"model": "auth.permission",
"fields": {
"codename": "change_contenttype",
"name": "Can change content type",
"content_type": [
"contenttypes",
"contenttype"
]
}
},
{
"pk": 12,
"model": "auth.permission",
"fields": {
"codename": "delete_contenttype",
"name": "Can delete content type",
"content_type": [
"contenttypes",
"contenttype"
]
}
},
{
"pk": 13,
"model": "auth.permission",
"fields": {
"codename": "add_session",
"name": "Can add session",
"content_type": [
"sessions",
"session"
]
}
},
{
"pk": 14,
"model": "auth.permission",
"fields": {
"codename": "change_session",
"name": "Can change session",
"content_type": [
"sessions",
"session"
]
}
},
{
"pk": 15,
"model": "auth.permission",
"fields": {
"codename": "delete_session",
"name": "Can delete session",
"content_type": [
"sessions",
"session"
]
}
},
{
"pk": 16,
"model": "auth.permission",
"fields": {
"codename": "add_site",
"name": "Can add site",
"content_type": [
"sites",
"site"
]
}
},
{
"pk": 17,
"model": "auth.permission",
"fields": {
"codename": "change_site",
"name": "Can change site",
"content_type": [
"sites",
"site"
]
}
},
{
"pk": 18,
"model": "auth.permission",
"fields": {
"codename": "delete_site",
"name": "Can delete site",
"content_type": [
"sites",
"site"
]
}
},
私はなぜexcactly理解していないが、それは動作します。私はsyncdb
の直後に新しいデータベースのダンプと私のフィクスチャを比較して、私のフィクスチャで何を削除したり編集したりするかを決めようとしています。あなたの場合にこれが役立つことを願っています。
を参照してください、ここで重要な洞察力ですあなたのテストフィクスチャにM2Mテーブルをダンプしないでください!それ以外の場合は、関連するオブジェクトが作成されたときにM2Mが最初に生成され、M2Mデータがフィクスチャからロードされると再び整合性エラーが発生します。 – powderflask