运行迁移命令时出现此错误。int() 的文字无效,以 10 为基数:"肖像"。下面是我的代码。姜戈版本=1.11



下面是我的models.py中的类。

类别类别(型号.型号(:

TRAVEL = 'TR'
WEDDING = 'WE'
PORTRAITURE = 'PR'
CATEGORIES = (
('TRAVEL', 'travel'),
('WEDDING', 'wedding'),
('PORTRAITURE', 'portraiture'),
)
category = models.CharField(
max_length=32,
choices=CATEGORIES,
default='PORTRAITURE',
)

class图像(models.Model(:

image = models.ImageField((""), upload_to='images/', height_field=None, width_field=None, max_length=None, blank=True)
image_name = models.CharField(max_length=60)
image_description = models.TextField()
location = models.ForeignKey(Location, null=True)
category = models.ForeignKey(Category, default='PORTRAITURE')
pub_date = models.DateTimeField(default=datetime.now, blank=True)
tags = models.ManyToManyField(tags)

忽略下面的部分。

有两个可选的验证参数,max_length和allow_empty_file。如果提供了这些选项,则可以确保文件名最多为给定的长度,并且即使文件内容为空,验证也会成功。

要了解有关UploadedFile对象的更多信息,请参阅文件上载文档。

当您在表单中使用FileField时,您还必须记住将文件数据绑定到表单

max_length错误指的是文件名的长度。在该密钥的错误消息中,%(max(d将被替换为最大文件名长度,%(length(d将替换为当前文件名长度

创建模型时,Django默认会为其创建一个id = models.AutoField(primary_key=True)自动递增主键字段。该键将用于模型关系。因此,在Image模型的category字段中,您必须传递Category的整数id值作为默认值,例如,如果PORTRAITURE的id为3,则:

category = models.ForeignKey(Category, default=3)

但是,由于你有一个固定的类别列表,你不必创建一个单独的模型,只需在Image模型中创建它们,如下所示:

class Image(models.Model):
TRAVEL = 'TR'
WEDDING = 'WE'
PORTRAITURE = 'PR'
CATEGORIES = (
(TRAVEL, 'travel'),
(WEDDING, 'wedding'),
(PORTRAITURE, 'portraiture'),
)
image = models.ImageField(upload_to='images/', height_field=None, width_field=None, max_length=None, blank=True)
image_name = models.CharField(max_length=60)
image_description = models.TextField()
location = models.ForeignKey(Location, null=True)
category = models.CharField(
max_length=2,
choices=CATEGORIES,
default=PORTRAITURE,
)
pub_date = models.DateTimeField(default=datetime.now, blank=True)
tags = models.ManyToManyField(tags)

请注意,我还删除了一些不必要的引号。

相关内容

  • 没有找到相关文章

最新更新