JsonField django.db.utils.OperationalError: table app_order has no column named raskroy_json
Я решил использовать JsonField в sqllite при django (выполнил замену необходимой dll-ки на винде в питоне в соответствии с документацией, так что ошибок при миграции небыло) в общем колонка в таблице через миграцию успешно создалась (якобы), однако, в бд в соотвецтвующей таблице не нахожу соотвецтвующего поля и ловлю ошибку при обращении к полю модели: table app_order has no column named raskroy_json
попробовал переименовать поле, сгенерировать и запустить миграцию - миграция отработала без ошибок, но проблема осталась
Ниже привожу код модельки, в которой я и установил проблемное поле (raskroy_json)
class Order(models.Model):
manager = models.ForeignKey(
User,
on_delete=models.RESTRICT,
related_name='manager')
otvetstvenniy_za_proizvodstvo = models.ForeignKey(User, on_delete=models.RESTRICT, related_name='otvetstvenniy_za_proizvodstvo')
description = models.CharField(blank=True, null=True, max_length=150)
client = models.CharField(max_length=50)
# комплектация
dvernaya_korobka = models.BooleanField(default=False)
torec_karkas_polotna = models.BooleanField(default=False)
petli = models.BooleanField(default=False)
zamok_and_otvestka = models.BooleanField(default=False)
yplotnitel = models.BooleanField(default=False)
syhori_ygolki = models.BooleanField(default=False)
montajnie_plastini = models.BooleanField(default=False)
shtykatyrnaya_setka = models.BooleanField(default=False)
# обработка
bez_obrabotki = models.BooleanField(default=False)
pilim_dlya_transportnoi = models.BooleanField(default=False)
mehobrabotka = models.BooleanField(default=False)
pilim_korobky_v_razmer_polotna = models.BooleanField(default=False)
pilim_torec_v_razmer_polotna_s_zapasom = models.BooleanField(default=False)
pilim_torec_v_razmer_polotna = models.BooleanField(default=False)
zapas_mm = models.IntegerField(default=0)
pilim_torec_v_razmer_polotna_s_zapilom = models.BooleanField(default=False)
otrezaem_kontatknie_pyatna = models.BooleanField(default=False)
kontaktnie_pyatna_mm = models.IntegerField(default=0)
frezerovka_korobki_por_petli_i_ovesky_zamka = models.BooleanField(default=False)
frezerovka_torca_or_karkasa_pod_petli_i_zamok = models.BooleanField(default=False)
frezerovka_pod_nestandartnyy_fyrnityry = models.BooleanField(default=False)
na_niz_revers_poloten_pryamoi_torec = models.BooleanField(default=False)
na_verh_poloten_bez_poperechini_pryamoi_torec = models.BooleanField(default=False)
dlya_dverey_bez_verhn_poperechini_plus = models.BooleanField(default=False)
dlya_dverey_bez_verhnei_poperechini_plus_mm = models.IntegerField(blank=True, null=True)
raskroy_json = models.JSONField(default=None, null=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return ("#" +
str(self.id) +
" | " +
str(self.manager) +
" | " +
str(self.description))
def __int__(self):
return (int(self.id))
class Meta:
verbose_name_plural = 'Заказы'
Ответы (1 шт):
решил проблему, сам доконца не понял как. теперь и с миграциями работает. я делал сброс миграций в проекте через --fake, вероятно это как то сказалось. в общем поигрался с миграциями и теперь все норм, миграциями делаю, без ручной правки бд