2013-04-16 2 views
0

Я попробовал все, но я не могу передать форму значения конструктору ContactCSVModel ниже:Джанго не может передать форму значения конструктору

if request.method == 'POST': 
    form = ConfiguratorForm(data=request.POST) 

    # Try and import CSV 
    ContactCSVModel.import_data(data=file, form=form) 

класс ...

class ContactCSVModel(CsvModel, form): 

    first_name = CharField() 
    last_name = CharField() 
    company = CharField() 
    mobile = CharField() 
    group = DjangoModelField(Group) 
    contact_owner = DjangoModelField(User) 

, что CsvModel является частью Django-адаптеров

ответ

2

class ContactCSVModel(CsvModel, form): означает, что ContactCSVModel расширяет класс под названием form. Я думаю, что это то, что вы на самом деле предназначено:

class ContactCSVModel(CsvModel): 
    # stüfe 
    def __init__(self, form): 
     # using the form for other stüfe. 
     # maybe self.form = form? 
+0

Я вижу, так как я могу просто передать форму в класс? – Prometheus

+0

Ну, это полностью зависит от вашей цели и того, что находится в ContactCSVModel. – cwallenpoole

+0

Хорошо, что имеет смысл, как его передать здесь ContactCSVModel.import_data (data = file, form = form) – Prometheus

1

Я думаю, что вы пытаетесь сделать, это использовать form для передачи данных в ContactCSVModel и ConfiguratorForm имеет то же поле? Если да, то вы должны сделать форму в ModelForm

class ConfiguratorForm(ModelForm): 
    class Meta: 
     model = ContactCSVModel 

В противном случае, я полностью потерял с тем, что вы пытаетесь сделать ...

К примеру, что в настоящее время в ConfiguratorForm и где сделал file родом из?

Смежные вопросы