Django'da, modelde bir alanı yabancı bir anahtara ayarlarsanız, o alanın adına "_id"
eklenir. Bu nasıl önlenebilir?Django'nun bir yabancı anahtar alanına "_id" eklenmesi engelleniyor
24
A
cevap
28
? İstediğiniz ne olursa olsun hiç alanın db_column
niteliğini ayarlayabilirsiniz.
2
Bir modelde yabancı alan kullanılırken, Django iki alan oluşturur: Biri gerçek bağlantı ve diğerine başvuran. a
ve a_id
: B
yılında
class A(Model):
i = IntegerField()
class B(Model):
a = ForeignKey(A)
şimdi iki alan vardır. a_id
a
doğrudan bu gibi A
alanları erişmek için kullanılabilir iken, veritabanında saklanan gibi benzersiz id:
b = B.objects.get(...)
b.a.i = 5; # Set the field of A
b.a.save() # Save A
İlgili konular
- 1. Yabancı Anahtar
- 2. yabancı anahtar
- 3. Kompozit anahtar için yabancı anahtar
- 4. Gerekli bir yabancı anahtar ekleme
- 5. Katılma tabloları, yabancı anahtar
- 6. yabancı anahtar gerekir?
- 7. Django ve yabancı anahtar
- 8. Raylar 4.2 yabancı anahtar
- 9. Yabancı anahtar firavunfaresi
- 10. Yabancı anahtar-SQL geliştirici
- 11. Yabancı anahtar uygulanmadı
- 12. CakePHP'de yabancı anahtar değil birincil anahtar
- 13. Bir null olmayan yabancı anahtar ekleme.
- 14. Raylar - Yabancı Anahtar Referanslarını bir formda görüntüleme
- 15. SQLite.net yabancı anahtar ile bir ekleme yapmak
- 16. Tablo nasıl yabancı bir anahtar için başvuruyor
- 17. Yabancı anahtar verisini bir datagrid'de nasıl görüntüleyebilirim
- 18. Varlık Çerçevesinde Birincil/Yabancı Anahtar
- 19. FactoryGirl'de yabancı anahtar nasıl kullanılır
- 20. Mistik tablo alternatifinde yabancı anahtar?
- 21. laravel göç ekleyemezsiniz yabancı anahtar
- 22. Mysql çapraz veritabanı yabancı anahtar
- 23. Yabancı Anahtar (MySQL) nasıl eklenir
- 24. JPA: yabancı anahtar ek açıklaması
- 25. Sıfır da olabilen yabancı anahtar
- 26. Yabancı Anahtar oluştururken MySQL Sözdizimi
- 27. ORMlite Android yabancı anahtar desteği
- 28. Django Filtre Sorgu Yabancı Anahtar
- 29. Yabancı anahtar öğelerini yükleme Tastypie
- 30. 1'den fazla yabancı anahtar
bu hile yaptı. Teşekkürler! –
FK_AUTO_ID = False gibi bir ayarın olması yararlı olacaktır. Ben, kuru bir kod yazmak zorunda olan eski bir veritabanı ile entegre olacağım, örneğin, basedcd = ForeignKey ('...', db_column = 'basiscd', related_name = 'basecd' ,. Bu biraz sinir bozucu, formlar auto_id = Paralel senaryoda yanlış kullanılabilir –
Veya daha da iyisi FK_AUTO_ID = 'cd' benim durumumda olduğu gibi, bu projedeki tüm FK'ler Django'nun varsayılanından farklı olan bu kongreyi elinde tutuyorlar (hayal edin FK_AUTO_ID = '_ id') –