Быстрый вопрос: очистить атрибут модели в Django - PullRequest
0 голосов
/ 08 октября 2010

я думаю, что это довольно простой вопрос для вас. Я хочу очистить атрибут django-модели.

Если у меня есть что-то вроде этого:

class Book(models.Model):   
     name = models.TextField()  
     pages = models.IntegerField()  
     img = models.ImageField()

В абстрактной функции я хочу очистить атрибут, но в то время я не знаю, какой тип имеет поле. Таким образом, примеры будут name="", pages=0 или img=None .. Есть ли способ сделать это в общем виде? Я ищу что-то вроде SET_TO_EMPTY(book,"pages")

Вам известна такая функция?

заранее большое спасибо!

1 Ответ

1 голос
/ 08 октября 2010

Я не думаю, что есть чистый способ сделать это.Однако, предполагая, что вы установили значение по умолчанию (которого у вас нет), вы можете сделать это следующим образом:

book.img = book._meta.get_field('img').default

Обратите внимание, что ваша текущая модель не допустит значение None.Чтобы разрешить те, вы должны установить null=True и blank=True.Для pages вам нужен default=0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...