首页 > 解决方案 > Django:没有这样的列 ecomapp_toplist.desc - 任何人都可以找到错误

问题描述

为什么no such column: ecomapp_toplist.desc 显示,因为我在模型中制作 desc 并注册它。

class TopList(models.Model):
    image = models.ImageField(upload_to='ProductImg')
    title = models.TextField(max_length=500)
    discountpercentage = models.IntegerField(blank=True,null=True)
    discountPrice = models.IntegerField(blank=True,null=True)
    brandName = models.TextField(max_length = 100 , default='',null=True,blank=True)
    finalprice = models.IntegerField(blank=True,null=True)
    category = models.ForeignKey(Category , on_delete=models.CASCADE, default=1)
    desc = models.TextField(max_length=5000)

class Category(models.Model):
    name = models.CharField(max_length=20)
    
    @staticmethod
    def get_all_categories():
        return Category.objects.all()

admin.py

@admin.register(TopList)
class TodoListModelAdmin(admin.ModelAdmin):
    list_display=['id','image','title','category' ]

标签: pythondjango

解决方案


如果您desc在迁移后添加了字段,请使用以下命令:

desc = models.TextField(max_length=5000, blank=True, null=True)

# insted of 
desc = models.TextField(max_length=5000)

然后再次进行 makemigrations 和迁移。


推荐阅读