Modellerimi inspectdb kullanarak oluşturdum, django bu tür bir endeks olduğu için aşağıdakileri oluşturduğunda bana garip geldi, ama benDjango 1.9 unique_together (ValueError) kısıtlı sayısını değiştiremez
olmasına izin verdim(('p_id', 'v_id', 'SKU'), ('p_id', 'v_id', 'SKU')) şimdi
i 'sku2' eklemek = çalışıyorum unique_together Bu endeks ve 'taşınamayacak' için aşağıdaki başarısız oluyor:
: Bu benim modeliFile "/home/user/.pyenv/versions/2.7.11/envs/master2/lib/python2.7/site-packages/django/db/backends/base/schema.py", line 347, in _delete_composed_index
", ".join(columns),
ValueError: Found wrong number (2) of constraints for vendor_products(p_id, v_id, sku)
olduğunu
class Products(models.Model):
p_id = models.OneToOneField(MasterProducts, models.DO_NOTHING, db_column='p_id', primary_key=True)
v_id = models.ForeignKey('Sellers', models.DO_NOTHING, db_column='v_id')
sku = models.TextField()
sku2 = models.TextField(blank=True, null=True)
class Meta:
managed = True
db_table = 'products'
unique_together = (('p_id', 'v_id', 'sku',), ('p_id', 'v_id', 'sku',))
i (('p_id', 'v_id', 'Stok',),) ve ('p_id', 'v_id', 'SKU'ya') ile aynı sonucu için unique_together değişen çalıştı.
Ayrıca db kullanarak benzersiz dizini silme ve django kullanarak yeniden oluşturmayı denedim ve hala sku2 eklememe izin vermiyor.
Bu neden oluyor, nasıl düzeltirim?
Anahtar kelimeyle "django-south" kullandığınızı tahmin edebilirim. Bunu kullanma. 1.7'den Django'ya dahildir. – baldr
geçişleri kullanarak, değiştirdim – jayshilling
Kısıtlamaları neden iki kez ayarlıyorsunuz? – baldr