Böyle bir model vardır:Django: birleştirme nesneleri
Ben birçok kaynaktan bunları aktarıyorum ve web sitemin kullanıcılar yeni Yerleri ekleyebilirsiniz yanaclass Place(models.Model):
name = models.CharField(max_length=80, db_index=True)
city = models.ForeignKey(City)
address = models.CharField(max_length=255, db_index=True)
# and so on
, bir onları birleştirmek için bir yol gerekir yönetici arayüzü
Place.objects.get(placename__name='St Paul\'s Cathedral', city=london)
class Place(models.Model):
name = models.CharField(max_length=80, db_index=True) # canonical
city = models.ForeignKey(City)
address = models.CharField(max_length=255, db_index=True)
# and so on
class PlaceName(models.Model):
name = models.CharField(max_length=80, db_index=True)
place = models.ForeignKey(Place)
sorgu böyle ve benzeri birleştirme: Problem Böyle bir şey kullanmak alışığım vb adı onlar çok farklı şekillerde yazıldığından edilebilir beri çok güvenilir değil, olduğu Gördüğünüz gibi, diğer tüm modelleri yeni değerler ile FK to Place ile güncellemeliyim. Ama bu her yeni modeli bu listeye eklemem gerektiğinden çok iyi bir çözüm değil.
Silmeden önce tüm yabancı anahtarlar bazı nesnelere nasıl "basamaklı güncelleştirme" uygular?
Ya da belki burada gerçekten bu jenerik kodu, herkes intersted varsa/önlemek
FWIW: http://djangosnippets.org/snippets/2283/ – dpn
Pasaj artık beni tatmin görünmüyor, ForeignKey üzerinde başarısız olur. Artı işlem, atom lehine değer kaybetti. Artı iteritems() python3'te item() oldu. (son iki meseleyi çözmek kolaydı, ilk değil). – gabn88
İlk sayıyı çözerken problemin django guardian'ın groupobjectpermissions ile olası olduğunu öğrendim. Yine de çözemedim :( – gabn88