Django Model *** IndexError:列表索引超出范围

时间:2020-06-07 00:01:41

标签: python django django-models django-rest-framework django-views

每当我创建一个对象时,

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>]>

感谢您的审核。

1 个答案:

答案 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 = Truename = models.CharField(max_length=300, null=True, blank=False, default='None')

希望它能工作。