Django bir Fikstür yüklerken contenttypes ile ilgili sorunlar
Contenttypes çatışmalar nedeniyle sorun MySQL veritabanına Django armatürleri yükleme yaşıyorum. İlk veri damping böyle uygulamamı sadece denedim:
./manage.py dumpdata escola > fixture.json
ama benim app "" kullanan diğer uygulamalardan tablolar. escola çünkü eksik yabancı anahtar sorunları almaya devam ettim, Bu noktaya gelene kadar ek uygulamalar ekleyerek devam ettim:
./manage.py dumpdata contenttypes auth escola > fixture.json
Şimdi sorun test Fikstür olarak veri yüklemeye çalıştığımda aşağıdaki kısıtlaması ihlali
IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
Sorun Django Fikstür birincil anahtar değerleri ile çakışan farklı birincil anahtar değerleri ile contenttypes dinamik olarak yeniden yaratmaya çalışıyor gibi görünüyor. Bu hata, belirtildiği gibi aynı görünüyor burada: http://code.djangoproject.com/ticket/7052
Sorun önerilen çözüm olan uygulama zaten yapıyorum contenttypes terk etmektir. Ne veriyor? Eğer bir önemi varsa burada belirtildiği gibi bazı özel model izinleri var: http://docs.djangoproject.com/en/dev/ref/models/options/#permissions
CEVAP
manage.py dumpdata --natural
yabancı anahtarlar daha dayanıklı bir gösterimini kullanır. Django adında "doğal anahtarları". Örneğin:
Permission.codename
Permission.id
lehine kullanılırUser.username
User.id
lehine kullanılır
Daha fazla okuma: natural keys section in "serializing django objects"
dumpdata
için başka yararlı bağımsız değişkenler:
--indent=4
insan okunabilir hale getirmek.-e sessions
oturum verileri hariç-e admin
admin site admin eylemlerin geçmişi hariç-e contenttypes -e auth.Permission
şemadan otomatik olaraksyncdb
sırasında her zaman yeniden nesneler hariç. Sadece--natural
ile birlikte veya başka kötü hizalanmış kimlik numaraları ile karşılaşabilirsiniz.
Lib-yoğun bakım Symfony 2.3 yüklerken ...
PHP 5.3 ve seansları ile ilgili sorunl...
Django: birincil anahtar belirtmeden F...
Çözülmemiş İthalat ve PyDev Eclipse il...
Git girme ile ilgili sorunlar Vim ile ...