【问题标题】:Django Model *** IndexError: list index out of rangeDjango 模型 *** IndexError:列表索引超出范围
【发布时间】:2020-06-07 00:01:41
【问题描述】:

每当我创建一个对象时,

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 admin 创建的以 dB 为单位的对象

ModelName.objects.all()
<QuerySet [<ModelName: 3f6dd007-8b2e-409b-b0fa-9e2f07be1483>, <ModelName: e8233c47-f482-48cf-aa9a-cdcef86b55eb>]>

感谢您的评价。

【问题讨论】:

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


    【解决方案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')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 2011-10-31
      • 2015-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多