как создать первичный ключ автоматически при создании объектов модели в базе данных из views.py - PullRequest
0 голосов
/ 19 мая 2019

У меня есть модель, и я пытаюсь создать экземпляр этой модели в db из views.py, так как он имеет один первичный ключ, как автоматически создать или сделать автофункцией назначение значения этому первичномуключ?

в моем случае это table_id в модели ActionLog

models.py

  class ActionLog(models.Model):
      table_id = models.IntegerField(primary_key=True)
      admin_id = models.IntegerField()
      timestamp = models.DateTimeField()
      parameter = models.CharField(max_length=150)

views.py

 def admin_view(request):
    access_log = ActionLog()
    access_log.admin_id = request.session['admin_id']
    access_log.timestamp = datetime.now()
    access_log.parameter = "log-in"

1 Ответ

0 голосов
/ 19 мая 2019

Первичный ключ генерируется автоматически. Вам не нужно это делать вручную.

def admin_view(request):
    ...
    access_log.save()

При вызове метода save() объект сохраняется в базе данных и генерирует pk. Вы можете увидеть значение первичного ключа для последнего сохраненного объекта по этому

def admin_view(request):
    ...
    access_log.save()
    print(access_log.pk)

Если вы хотите это на уровне модели автоматически увеличить значение pk

table_id = models.AutoField(primary_key=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...