Django дает полю значение по умолчанию = pk

Я пытаюсь дать полю в Django значение по умолчанию = значение pk, возможно ли это?

Я нашел старый вопрос о том, как задать поле по умолчанию = значению другого поля, но он не очень помогает при работе с pk-значениями: Как установить значение поля по умолчанию в значение другого поля в модели Django?

В принципе, возможно ли что-то подобное, используя pk вместо переменной "name"? :

class MyModel(models.Model):
name = models.CharField(max_length=50)
fullname = models.CharField(max_length=100,default=name)

def clean(self):
  self.fullname=name

Спасибо.

Django создает автоматические первичные ключи, модель будет иметь поле под названием "id", и оно также называется "pk"

Если вы получите доступ к своей базе данных, вы сможете это увидеть.

SQL Database screentshot

Если вы хотите установить свой собственный первичный ключ, вам нужно сделать что-то вроде:

custompk = models.someField(primary_key=True)

Поскольку ваш вопрос расплывчатый, я попытался ответить на него в меру своих возможностей.

Если вы пытаетесь получить доступ к PK/ID объекта в представлении, дайте мне знать, и я смогу помочь и с этим. :)

Вернуться на верх