Document
adlı bir modelim var ve Document
numaralı yabancı bir anahtarla yeni bir masa eklemek, bunun üstüne oturan DocumentCluster
eklemek istiyorum. Güneye kullanarak bu tabloyu eklediğinizdeBirincil anahtar nasıl ayarlanır, sonra otomatik alanlara dönüştürülür?
class DocumentCluster(models.Model):
sub_document = models.ForeignKey(Document)
...lots of fields here...
, ben birincil anahtar ve aynı değere yabancı anahtarını ayarlayarak doldurmanız gerekiyor. Şu anda 12 kişilik bir pk
ile Document
nesne varsa o garip görünse
Örneğin, yeni DocumentCluster
nesne 12 bir pk
ve Document
sayı 12.
için yabancı anahtar olacak bizim birlikte Önemli bir neden olduğu için yabancı anahtar değerleriyle eşleşecek DocumentCluster
pk
değerlerine ihtiyacınız var. URL'lerimizde Document
pk
'u kullanıyoruz, ancak değişiklikten sonra URL'ler Document
değil DocumentCluster
yüklenecek, DocumentCluster
pk
Document
ile aynı olması gerekir.
Bu işlem bittiğinde, DocumentCluster
numaralı PK'nin bir AutoField olmasını ve taşınan en yüksek değerden artırılmasını istiyorum.
Bu yapılabilir mi?
pk'yi neden ayarlamanız gerekiyor? Doğal bir anahtar olarak içerikle ilgisi olmamalıdır. İlişkisini belirlemek için fk var. –
PK'yi URL'lerimizde kullanıyoruz, ancak değişiklikten sonra, URL'ler bir 'DocumentCluster' değil' DocumentCluster 'yükleyecek, böylece PK'nin daha önce olduğu gibi olması gerekecek. – mlissner