【问题标题】:How can I remove this Error in Django models.py如何在 Django models.py 中删除此错误
【发布时间】:2021-01-08 05:17:18
【问题描述】:

我在 models.py 中创建了一个金额字段, 我运行 python manage.py makemigrations 和 python manage.py migrate 它给了我错误 ValueError: Field 'amount' expected a number but got ''. 然后我从我的代码中删除了这个数量字段行,并再次执行了 makemigrations 和 migrate 命令。现在它再次显示相同的错误。当我打开 Django 管理页面并选择我的模型名称时 Orderss 。它给我的错误是没有归档名称数量

class Orders(models.Model):
order_id = models.AutoField(primary_key = True)
items_json = models.CharField(max_length=5000)
name = models.CharField(max_length=20)
# amount = models.IntegerField(default=0)
email = models.CharField(max_length=20)
address = models.CharField(max_length=50)
city = models.CharField(max_length=20)
state = models.CharField(max_length=20)
zip_code = models.IntegerField(max_length=6)
phone = models.IntegerField(max_length=12, default="")

def __str__(self):
    return self.name

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    删除你的迁移并删除你的 db.sqlite3 然后

    python3 manage.py makemigrations 
    python3 manage.py migrate
    

    希望有效果

    【讨论】:

      【解决方案2】:

      当您第一次进行迁移时,您已经在数据库中创建了带有“金额”列的表。第二次迁移没有删除此列。您可以转到数据库外壳并删除那里的列。这取决于您使用的数据库类型,但您可以尝试这样做:

      python manage.py dbshell 
      
      mysql> | psql> ALTER TABLE <table_name> DROP column <COLUMN_NAME>;
      
      

      然后退出shell并同步

      
      python manage.py syncdb
      
      

      【讨论】:

        猜你喜欢
        • 2016-11-11
        • 1970-01-01
        • 2020-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-30
        • 1970-01-01
        相关资源
        最近更新 更多