我想将Achievement模型的“order”IntegerField设置为Achievement中当前的对象计数。订单字段用于订购成就,用户可以更改它。现在我默认为1。
class Achievement(models.Model):
title = models.CharField(max_length=50, blank=True)
description = models.TextField()
order = models.IntegerField(default=1) #Get the number of achievement objects
class Meta:
db_table = 'achievement'
ordering = ['order', 'id']
例如,如果我的数据库中已经有一个成就,无论顺序如何,默认情况下下一个应该得到order = 2。
答案 0 :(得分:0)
据我所知,您希望1
整数字段的默认值为order
,并使用Achievment
的每个条目递增它(与{{1}的功能相同1}}),但也允许用户更改它。
为此,您可以使用Django' AutoField
:
id
根据可用ID自动递增。您通常不需要直接使用它;如果您没有另外指定,主键字段将自动添加到您的模型中。
像这样:
IntegerField