在Django 2.1.1中为表格的“ id”列指定了多个默认值

时间:2018-09-22 22:22:16

标签: django django-models

所以我一直收到此错误,指出设备表有多个指定的ID值,但是我不知道在何处指定了任何类型的默认ID。我尝试将字段设置为primary_key = True,但这也不能解决问题。

编辑:Traceback

class Campus(models.Model):
name = models.CharField(max_length=20)
address = models.CharField(max_length=40)

def __str__(self):
    return self.name

class Meta:
    verbose_name_plural = "Campuses"



class Teacher(models.Model):
name = models.CharField(max_length=20)
phone = models.CharField(max_length=11)
department = models.CharField(max_length=20)
campus = models.OneToOneField(Campus, on_delete=models.CASCADE, default="Not Assigned")
#devices = self.Device.objects.all()

def __str__(self):
    return self.name



class Device(models.Model):
inUse = 'IU'
inStock = 'IS'
inMaintenance = 'IM'
damaged = 'DM'
statusChoices = (
    (inUse, 'In Use'),
    (inStock, 'In Stock'),
    (inMaintenance, 'In Maintenance'),
    (damaged, 'Damaged'),
)

name = models.CharField(max_length=20)
brand = models.CharField(max_length=20)
status = models.CharField(max_length=2, choices=statusChoices, default=inStock)
#user = models.ForeignKey(Teacher, on_delete=models.CASCADE, default=0)

def __str__(self):
    return self.name

1 个答案:

答案 0 :(得分:-1)

导航到PostgreSQL实例后,我删除了所有与Django相关的数据,并重新进行了迁移,一切恢复正常。

对于将来的用户:建议您删除数据库中过去的迁移表。