Сохранить в MongoDB из представлений в django - PullRequest
0 голосов
/ 29 марта 2020

Здравствуйте, я столкнулся с проблемой, когда я пытаюсь сохранить в моей базе данных MongoDatabase некоторые данные через views.py. Мой вопрос может быть глупым, потому что я новичок в django ...

Так что у меня есть ModelForm в мой forms.py

class LanModelForm(forms.ModelForm):
    project_name = forms.CharField()
    target = forms.GenericIPAddressField()

class Meta:
    model = UsersInput
    fields = ('project_name', 'target',)

и моя модель в models.py

class UsersInput(models.Model):
    project_name = models.CharField(max_length=15)
    ip_subnet = models.GenericIPAddressField()

Я отправляю форму и когда я go на страницу администратора для проверки моего объекта (UsersInput) передается только имя проекта. Целевое поле не заполнено.

Код в views.py

def post(self, request):
    form = self.form_class(request.POST)
    if form.is_valid():
        _target = form.cleaned_data['target']
        project_name = form.cleaned_data['project_name']
        form.save()
  return redirect('/passive_scanning.html')

1 Ответ

1 голос
/ 29 марта 2020

Редактировать views.py

from .models import UsersInput

...

def post(request):
    form = self.form_class(request.POST)
    if form.is_valid():
        cd = form.cleaned_data
        db_save = UsersInput(project_name=cd['project_name'], ip_subnet=cd['ip_subnet'])
        db_save.save()
    return redirect('/passive_scanning.html')

Редактировать forms.py

class LanModelForm(forms.ModelForm):
    # You do not need to declare fields here for forms.ModelForm
    class Meta:
        model = UsersInput
        fields = ('project_name', 'ip_subnet',)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...