我试图用 PostgreSQL 作为我的数据库引擎来运行我的 Django 应用程序。部署后,我从模板加载器收到模板渲染错误。这是我使用ModelChoiceField创建的表单。
而且在迁移时我得到一个错误说
django.db.utils.ProgrammingError:列“category_parent”不能自动转换为整数类型提示:您可能需要指定“USING category_parent::integer”。
我相信从选择字段返回索引是导致问题的原因。有没有可能在没有太多麻烦的情况下解决这个问题。
这是该表单的类。
class CategoryForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(CategoryForm, self).__init__(*args, **kwargs)
self.fields['category_parent'].required = False
category_parent = forms.ModelChoiceField(
queryset=Category.objects.all(), empty_label='None')
category_image = forms.ImageField()
class Meta:
model = Category
fields = ('category_name', 'category_code',)
我得到的模板错误的屏幕截图。
我的模型类相同
class Category(models.Model):
category_name = models.CharField(max_length=300)
category_code = models.CharField(max_length=100)
category_parent = models.ForeignKey('self', blank=True, null=True)
category_image = models.ImageField(upload_to='category')
def __str__(self):
return self.category_name
我的终端屏幕上的错误截图
请帮忙。提前致谢。