Вопрос: От многих до многих отношений, которые либо не были установлены, либо являются абстрактными


Рассмотрим следующие (упрощенные) модели Django:

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)

Я получаю следующую ошибку:

products.productmodel: «productDownloads» имеет отношение m2m с модельным продуктомModelDownLoad, который либо не был установлен, либо является абстрактным.

Я нашел страницу в django docs, которая, кажется, обращается к этому, но я не могу полностью понять, что это значит: http://www.djangoproject.com/documentation/models/invalid_models/

Модель выглядит верной для меня, так в чем проблема?


6


источник


Ответы:


Вы должны поместить класс productModelDownload перед классом productModel. Они обрабатываются сверху вниз при проверке моделей.


9



models.ManyToManyField ('productModelDownLoad') - «Загрузить» в верхнем регистре

class modelModelDownload (models.Model): - «нагрузка» в нижнем регистре


2



Интересно, что есть два способа решить эту проблему:
a) Ответ Томаса трюк,
б) Но так же выглядит и Майк Коробов:
В названии поля есть блуждающая заглавная буква в отношении:

productDownloads = models.ManyToManyField ('productModelDown * L * ДОА ')

Исправление этого беспризорного капитала также решает эту проблему.


1



От многих до многих отношений, которые либо не были установлены, либо являются абстрактными | Programmerz.ru