我有一个叫做零食的模特:
class Snack(models.Model):
snack = models.CharField(max_length=9)
当我这样做时
Snack.objects.get_or_create(snack="borsh")
我收到此错误:
django.db.utils.IntegrityError: duplicate key value violates unique constraint "restaurants_snack_pkey"
DETAIL: Key (id)=(6) already exists.
如果我再次这样做,它会告诉我同样的事情,除了钥匙(已经存在)将是7等等。
密钥已经存在,我想知道如何让它选择下一个可用的密钥?
提前致谢。
Jenia
答案 0 :(得分:1)
您可能已经进行了一些手动数据导入,即使没有,也不是django的问题,而是数据库自动增量序列。 Django有一个管理命令,可以生成sql命令来重置那些:
./manage.py sqlsequencereset myapp1 myapp2
如果你正在使用PostgreSQL,你可以像这样管道它:
./manage.py sqlsequencereset myapp1 myapp2 | psql
或mysql
如果您使用的是MySQL,但我还没有使用它。