Джанго читает старую модель? - PullRequest
1 голос
/ 12 июня 2009

Я изменил модель, синхронизировал БД, и теперь, когда я делаю:

Prs = Products.objects.filter(PrName__icontains='bla')

Я получаю ошибку:

    ERROR:  column search_products.pr_name does not exist
LINE 1: SELECT "search_products"."id", "search_products"."pr_name", ...

Но pr_name была старой моделью, вот как выглядит новая модель:

class Products(models.Model):
  PrName = models.CharField(max_length=255)
  PrDescription = models.CharField(max_length=4000)
  PrPrice = models.DecimalField(max_digits=5, decimal_places=2)
  PrCompany =  models.ForeignKey(Companies)

  def __str__(self):
    return self.PrName

Почему я получаю эту ошибку? Я синхронизировал БД 100 раз, проверил весь код, нигде нет ссылки на pr_name?

Ответы [ 2 ]

2 голосов
/ 12 июня 2009

Вы пытались перезапустить свой сервер? Если вы используете что-то кроме сервера разработки, вам, вероятно, придется сделать это вручную после внесения таких изменений.

0 голосов
/ 12 июня 2009

К сожалению, вы пытаетесь сделать не поддерживаемым django из коробки: - (

но вы можете сделать это просто, добавив столбец db_column в поля или экспортировав данные, удалив таблицу из базы данных, отредактируйте файл экспорта, заново создайте таблицу базы данных и повторно импортируйте данные.

Также посмотрите на различные схемы эволюции решений там

...