每当我创建一个对象时,
ModelName.objects.create(image = image, owner = user, cordinate_Y=cordinate_Y, cordinate_X=cordinate_X, agency=agency)
*** IndexError: list index out of range
这是model.py
class ModelName(models.Model):
image = models.ImageField(upload_to=image_file_name_before, blank=False)
name = models.CharField(max_length=300, null=True, blank=False, default='None')
owner = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
blank=False
)
...
extra_fields = models.CharField(max_length=100, null=True, blank=True, default='None')
...
cordinate_X = models.FloatField(blank=False)
cordinate_Y = models.FloatField(blank=False)
agency = models.CharField(max_length = 50, default = 'GENERAL', blank=False)
我已经尝试了几乎所有方法,但实际上无法理解为什么我会被困在这个位置。
如果我是从Django管理员创建的,它就可以正常工作。
编辑
如果有人怀疑我可以列出我从Django管理员创建的以dB为单位的对象,则可以
ModelName.objects.all()
<QuerySet [<ModelName: 3f6dd007-8b2e-409b-b0fa-9e2f07be1483>, <ModelName: e8233c47-f482-48cf-aa9a-cdcef86b55eb>]>
感谢您的审核。
答案 0 :(得分:1)
可能是因为您没有在其中输入name
字段
ModelName.objects.create(image = image, owner = user, cordinate_Y=cordinate_Y, cordinate_X=cordinate_X, agency=agency)
但是在这里您提到了name = models.CharField(max_length = 300,null = True,blank=False
,default ='None')
现在尝试将blank = False
更改为blank = True
,
name = models.CharField(max_length=300, null=True, blank=False, default='None')
希望它能工作。