たとえば、Djangoでidフィールドを更新する方法は次のとおりです。
mysql> SELECT * FROM school_subjects;
+----+--------+---------+-------------+
| id | name | user_id | delete_flag |
+----+--------+---------+-------------+
| 1 | Canada | 2 | 0 |
| 2 | USA | 2 | 0 |
+----+--------+---------+-------------+
それらを削除してから再度更新すると、ID が増加し続けます。
mysql> SELECT * FROM school_subjects;
+----+--------+---------+-------------+
| id | name | user_id | delete_flag |
+----+--------+---------+-------------+
| 3 | Canada | 2 | 0 |
| 4 | USA | 2 | 0 |
+----+--------+---------+-------------
+ では、id フィールドが最も低いものをチェックし、そこからインクリメントする方法は?
#models.py
class Subjects(models.Model):
""" Subject Database """
name = models.CharField(max_length=64, unique=False) #Subject Names on left-menu
user = models.ForeignKey(User, unique=False)
delete_flag = models.BooleanField(default=False)
def __unicode__(self):
return '%s %s' %(self.name, self.user.username)