Django.models пользовательское пустое значение
Спасибо, что нашли время рассмотреть этот запрос.
Я устанавливаю поле ID в одной из моих моделей Django. Это поле CharField и выглядит следующим образом:
my_id = models.CharField(primary_key=True, max_length=5,
validators=[RegexValidator(
regex=ID_REGEX,
message=ID_ERR_MSG,
code=ID_ERR_CODE
)])
Я хотел бы добавить опцию default/blank или null, которая вызывает глобальную или классную функцию, которая будет перебирать существующие ID, находить первый несуществующий и назначать его в качестве следующего ID пользователя. Однако, когда я добавляю вызов blank=foo()
, я получаю код ошибки о том, что функция не существует.
Лучший, pb
Edit: Я также попробовал использовать отдельный файл utils и импортировать функцию, но (неудивительно) я получаю ошибку циклического импорта, поскольку мне нужно вызвать класс, чтобы получить объекты.
Попробуйте переопределить метод сохранения модели и выполнить логику там:
def save(self, *args, **kwargs):
#Custom logic
super().save(*args, **kwargs)