0
Добрый день. Начал практиковаться с django, нашел у себя старый сайтик автомобильной тематики, решил переродить его на джанге Столкнулся с такой проблемой: есть несколько моделей

class CarsParametrTypes(models.Model):
    title = models.CharField(max_length = 100,verbose_name = 'Название')

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = 'Параметры'
        verbose_name_plural = 'Параметры'
        db_table = 'catalog_cars_parametr_type'

class CarsParametrValues(models.Model):
    type = models.ForeignKey(CarsParametrTypes,verbose_name = 'Параметр')
    value = models.CharField(max_length = 100, verbose_name = 'Значение')

    def __str__(self):
        return self.value

    class Meta:
        verbose_name = 'Значение'
        verbose_name_plural = 'Значения'
        db_table = 'catalog_cars_parametr_values'


Хочу все значения параметров хранить в одной таблице к примеру для CarsParametrTypes такие записи Состояние, Привод, тип топлива

Далее создаю модель Cars


class Cars(models.Model):
     model = models.CharField(max_length=50, verbose_name='Модель')
     color = models.CharField(max_length=50, verbose_name='Цвет')
     probeg = models.IntegerField(default = 0, verbose_name = 'Пробег')
     year = models.IntegerField(default = 0, verbose_name = 'Год выпуска')
     power = models.IntegerField(default = 0, verbose_name = 'Мощность, л.c.')
     drive = models.ForeignKey(CarsParametrValues, verbose_name = 'Привод', limit_choices_to={'type_id': 1})


В такой форме все работает, но если я добавляю ещэ одно поле, к примеру:

fuel = models.ForeignKey(CarsParametrValues, verbose_name = 'Тип топлива', limit_choices_to={'type_id': 2})


Тогда при создании миграции возникает ошибка. Попытки нагуглить решение, не привели к успеху: во всех рассматриваемых примерах по связям (Также пробовал указывать не ForeignKey, а ManaToMany) не обращаются дважды и более к одной и той же модели.
5 месяцев 16 дней назад
#ссылка
комментировать


Ваш ответ:

Будет создана учетная запись и на email выслано письмо подтверждения.
или
Использовать OpenID

Получить OpenID
Что такое OpenID?

новые ответы

Первый раз на сайте?

askdev.ru — это социальный сайт вопросов и ответов для IT-специалистов: программистов, веб-дизайнеров, системных администраторов.
Как stackoverflow.com, только на русском.
о сайте » регистрация »
Показан

280 раз

Задан

5 месяцев 16 дней назад

Теги