InvalidTextRepresentation:bigint 类型的无效输入语法:"All Forms"
InvalidTextRepresentation: Invalid input syntax for type bigint:"All Forms"
我的模型中有一个字段
book_classes = (("","Select Form"),("1",'F1'),("2",'F2'),("3",'F3'),("4",'F4'),("All Forms","All Forms"))
b_classes = models.CharField('Form',max_length=9,choices=book_classes,default="n/a")
然后改成
b_class =models.ForeignKey(ClassBooks,on_delete=models.CASCADE)
在哪里
class ClassBooks(models.Model):
name = models.CharField(max_length=10)
我现在卡住了,因为当我尝试迁移时出现错误。
Invalid input syntax for type bigint:"All Forms"
Makemigrations 和 migrate 在开发中运行良好。当我推送到数字海洋时,迁移返回了所述错误。
请问我需要做什么?
如果你不想丢失 db.sqlite3,请先尝试删除迁移
第 1 步:删除 db.sqlite3 文件。
第 2 步:$pythonmanage.py迁移
第 3 步:$pythonmanage.pymakemigrations
第 4 步:使用 $pythonmanage.pycreatesuperuser
创建超级用户
新的db.sqlite3会自动生成
参见 Foreign Key field。默认情况下,FK 字段将使用引用的 table(模型)的主键,在本例中为 ClassBooks
的 id
字段。 id
字段是一个整数,因此在尝试使用字符串字段时会出现错误。为了使这项工作,从文档 link :
ForeignKey.to_field
The field on the related object that the relation is to. By default, Django uses the primary key of the related object. If you reference a different field, that field must have unique=True.
在你的情况下变成:
b_class =models.ForeignKey(ClassBooks,to_field='name',on_delete=models.CASCADE)
这假设 name
字段具有 Unique
约束。
虽然我不确定 "", "1", "2" ...
如何映射到 ClassBooks.name
。
我的模型中有一个字段
book_classes = (("","Select Form"),("1",'F1'),("2",'F2'),("3",'F3'),("4",'F4'),("All Forms","All Forms"))
b_classes = models.CharField('Form',max_length=9,choices=book_classes,default="n/a")
然后改成
b_class =models.ForeignKey(ClassBooks,on_delete=models.CASCADE)
在哪里
class ClassBooks(models.Model):
name = models.CharField(max_length=10)
我现在卡住了,因为当我尝试迁移时出现错误。
Invalid input syntax for type bigint:"All Forms"
Makemigrations 和 migrate 在开发中运行良好。当我推送到数字海洋时,迁移返回了所述错误。 请问我需要做什么?
如果你不想丢失 db.sqlite3,请先尝试删除迁移
第 1 步:删除 db.sqlite3 文件。
第 2 步:$pythonmanage.py迁移
第 3 步:$pythonmanage.pymakemigrations
第 4 步:使用 $pythonmanage.pycreatesuperuser
创建超级用户新的db.sqlite3会自动生成
参见 Foreign Key field。默认情况下,FK 字段将使用引用的 table(模型)的主键,在本例中为 ClassBooks
的 id
字段。 id
字段是一个整数,因此在尝试使用字符串字段时会出现错误。为了使这项工作,从文档 link :
ForeignKey.to_field
The field on the related object that the relation is to. By default, Django uses the primary key of the related object. If you reference a different field, that field must have unique=True.
在你的情况下变成:
b_class =models.ForeignKey(ClassBooks,to_field='name',on_delete=models.CASCADE)
这假设 name
字段具有 Unique
约束。
虽然我不确定 "", "1", "2" ...
如何映射到 ClassBooks.name
。