2011-01-01 14 views
6

aşağıdaki (basitleştirilmiş) Django Modelleri düşünün soyut edilmemiştir ya Birçok ilişkisi Birçok:kurulmamış veya

products.productmodel: 'productDownloads' has an m2m relation with model productModelDownLoad, which has either not been installed or is abstract.

ben bir sayfa bulundu: Aşağıdaki hata

class productFamily(models.Model): 
    name = models.CharField(max_length = 256) 
    text = models.TextField(blank = False) 
    image = models.ImageField(upload_to="products/img/") 
    def __unicode__(self): 
     return self.name 

class productModel(models.Model): 
    productFamily = models.ForeignKey('productFamily') 
    productFamily.help_text = 'ProductFamily to which this model belongs.' 
    artNumber = models.CharField(max_length=100) 
    name = models.CharField(max_length = 256) 
    productDownloads = models.ManyToManyField('productModelDownLoad') 
    productDownloads.help_text = 'Files associated to this product Model.' 
    def __unicode__(self): 
     return self.name 

class productModelDownload(models.Model): 
    file = models.FileField(upload_to="products/downloads/") 
    def __unicode__(self): 
     return str(self.file) 

alıyorum

Bunu ele alan django dokümanlar, ancak bunun ne anlama geldiğini anlamıyorum: http://www.djangoproject.com/documentation/models/invalid_models/

Model benim için geçerli görünüyor, yani sorun burada mı?

cevap

1

küçük harfle olduğunu :
Thomas'ın cevabı hile,
b) Fakat, bunu yapar yapar: a) Mike Korobov en:
ilişkin alan adında başıboş harf vardır:

productDownloads = models.ManyToManyField('productModelDown*L*oad')

Bu başkentin düzeltilmesi de bu sorunu çözüyor.

+1

İlginç olan, modellerin sırasını değiştirerek, doğrulanmış olmasıdır. Bu bile isteniyor mu? –

9

productModel sınıfını productModel sınıfından önce yerleştirmeniz gerekiyor. Modeller doğrulanırken yukarıdan aşağıya doğru işlenir.

+0

Tamam, işte bu oldu -Teşekkürler. –

2

models.ManyToManyField ('productModelDownLoad') - 'Yük'

sınıf productModelDownload (models.Model) Büyük harfli edilir: - 'yük' İlginçtir bu çözmek için iki yol vardır

+0

Teşekkür ederim, ben de bunu fark ettim. –

İlgili konular