переопределение inlines

31 views
Skip to first unread message

Megido

unread,
Jan 4, 2013, 9:18:54 AM1/4/13
to django-...@googlegroups.com
переопределил темплейт inlines на
  <input name='photo' type="file" multiple>
при сохранении вылазит ошибка:
[u'ManagementForm data is missing or has been tampered with']
видимо это потому что название файла неправильное, стандартные поля для inlines имеют названия <modelname>_set_<id> , а затем все эти файлы попадают в  images_set
только вот у меня одно поле. images_set[] не помогает, как сделать правильно?


Arcady Chumachenko

unread,
Jan 4, 2013, 9:25:07 AM1/4/13
to django-russian
дописать к вьюхе ручное раскладывание файлов куда надо. inlines это не просто пачка инпутов, это и скрытые инпуты с ID, и галки для удаления. Простая замена на input multiple будет работать совсем не так.


2013/1/4 Megido <megi...@gmail.com>


--
 
 



--
Аркадий Чумаченко // Arcady Chumachenko
веб-проекты // web development
icq is no more, use google talk please
skype arcady.chumachenko
cell +7 911 701-0626 / +5 9398 545-24-98
www http://ilvar.tumblr.com/

Megido

unread,
Jan 4, 2013, 9:32:12 AM1/4/13
to django-...@googlegroups.com
это я понимаю , но у меня в модели есть ручное складывание, и сейчас для дебага я его ограничил выводом того что оно принимает, тоесть оно ничего не делает и ошибки быть как бы не может быть в принципе.
Но только оно до сохранения и не доходит


Megido

unread,
Jan 4, 2013, 9:35:26 AM1/4/13
to django-...@googlegroups.com
галки с удалениями и превью можно и потом добавить, сейчас нужно добится того чтоб файлы передавались куда надо

Arcady Chumachenko

unread,
Jan 4, 2013, 9:41:49 AM1/4/13
to django-russian
Посмотрите, как formset-ы внутри устроены, и раскладывайте приходящие данные так же перед передачей их в форму. Либо вообще уберите inline и обрабатывайте их вручную.


2013/1/4 Megido <megi...@gmail.com>
галки с удалениями и превью можно и потом добавить, сейчас нужно добится того чтоб файлы передавались куда надо

--
 
 

Megido

unread,
Jan 4, 2013, 10:49:17 AM1/4/13
to django-...@googlegroups.com
я тут нашел новый мультиаплоадер, он теперь представляет собой просто приложение и специальную форму , обгуглился уже весь но не могу найти как задать в админке эту форму для модели
нашел только вот это

from django import forms
from multiuploader.forms import MultiUploadForm


class F(forms.Form):
        photo
= MultiuploaderField(required=False)
       
class Meta:
                model
= Images
class G(admin.TabularInline):
        model
=Images
class PostAdmin(admin.ModelAdmin):
        list_display
= ['name','thumbnail','date','status']
        inlines
=[G]
        form
=F
на это джанго реагирует так:
PostAdmin.form does not inherit from BaseModelForm.
еще пробовал определить форму в классе G
тут вобще кошмар
G.form does not inherit from BaseModelForm.




Arcady Chumachenko

unread,
Jan 4, 2013, 11:49:58 AM1/4/13
to django-russian
Что конкретно в выдаваемом сообщении Вам непонятно?


2013/1/4 Megido <megi...@gmail.com>

--
 
 

TrashNRoll

unread,
Jan 8, 2013, 6:31:53 PM1/8/13
to django-...@googlegroups.com
Сэкономлю всем немного времени на очевидном.

class F(forms.Form):
->
class F(forms.ModelForm):

Аркадий, не хотел вам мешать пытаться научить человека думать, но, сдается мне, что иначе тред превратится в шарады. Лучше после данной триальной версии ответа скажем, что следующие расшифровки трэйсбэков осуществляются после отправки смс на короткий номер.

4 января 2013 г., 20:49 пользователь Arcady Chumachenko <arcady.ch...@gmail.com> написал:
--
 
 

Reply all
Reply to author
Forward
0 new messages