我想从1开始id。每当删除一行时,它会跳过该数字并跳到下一个数字。x1c 0d1x
就像这幅图,它跳过了1-6和8。
我想把它设置为1,2,3
这是我的models.py
class dish(models.Model):
id = models.AutoField(primary_key=True)
dish_id = models.AutoField
dish_name = models.CharField(max_length=255, blank=True, null=True)
dish_category = models.CharField(max_length=255, blank=True, null=True)
dish_size = models.CharField(max_length=7, blank=True, null=True)
dish_price = models.IntegerField(blank=True, null=True)
dish_description = models.CharField(max_length=255, blank=True, null=True)
# dish_image = models.ImageField(upload_to="images/", default=None, blank=True, null=True)
dish_image = models.ImageField(upload_to="media/", default=None, blank=True, null=True) #here added images as a foldername to upload to.
dish_date = models.DateField()
def __str__(self):
return self.dish_name
这是views.py
def delete(request, id):
dishs = dish.objects.get(id=id)
dishs.delete()
return HttpResponseRedirect(reverse('check'))
2条答案
按热度按时间oxalkeyp1#
删除一个对象并不会更改其余对象的任何属性。您需要手动执行此操作。您需要做的第一件事是更改
dish_id
字段:然后在你看来:
另外,你真的应该用Pascal大小写来写你的类,大写类的第一个字母:
最后,
Dish
不需要ID字段;这是自动创建的,但您可以保持原样,它不会导致任何问题。plicqrtu2#
您可以使用覆盖保存()方法来实现这些功能,如下所示