В django, как я могу получить значение из db в шаблон настраиваемого поля? - PullRequest
3 голосов
/ 16 ноября 2010

Я использую пользовательский класс на своей модели для загрузки изображений через приложение под названием django-filebrowser .

# myapp/models.py
class Book(models.Model):
    name = models.CharField(max_length=30)
    image = FileBrowseField("Image", max_length=200, blank=True, null=True)
    ...

В модели используется настраиваемое поле filebrowser «FileBrowserField», которое добавляет ссылку на отдельную страницу загрузки (http://site/admin/filebrowser/browse/?ot=desc&o=date).. Я бы хотел настроить шаблон пользовательской формы, добавив параметр «dir», например, так: : (http://site/admin/filebrowser/browse/?ot=desc&o=date&dir=book1). book1, в этом случае, будет извлечено из "name" CharField этой Книги.

Я знаю, что шаблон, который я хочу изменить, отображается в файле fieldsbpyser fields.py, и есть переменная, которая устанавливает параметр "dir", но Я не знаю, как извлечь значение строки из моя собственная модель для fields.py, поэтому я могу установить эту переменную . У кого-нибудь есть предложения?

1 Ответ

2 голосов
/ 17 ноября 2010

Нашел решение в другом месте, поэтому я решил поделиться им:

# models.py
class Book(models.Model):
    name = models.CharField(max_length=30)
    image = FileBrowseField("Image", max_length=200, blank=True, null=True)

...

    def __init__(self, *args, **kargs):                                                
        super(Property, self).__init__(*args, **kargs)                             
        self._meta.get_field_by_name("image")[0].directory = self.name
...