Как отразить данные из model.object, определенного с помощью manytomanyfield? - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь добавить входные данные в это конкретное поле в базу данных, используя параметр manytomanyfield .

это мой код просмотра:

    def home(request):
        contacts = Contact.objects
        return render(request,'index.html',{'contacts':contacts,'fields':Field.objects})

    def addContact(request):
        if(request.GET):
            contact = Contact()
            contact.save()
            for obj in Field.objects.all():
                obj.save()
            messages.success(request, 'Contact Added Successfully')
            return redirect('add_contact')
        return render(request,'add_contact.html',{'fields':Field.objects})


    def addField(request):
        if(request.GET):
            field = Field()
            field.field_name=request.GET['field_name']
            field.field_type=request.GET['field_type']
            field.is_required=request.GET['is_required']
            field.save()
            messages.success(request, 'Field Added Successfully')
            return redirect('add_field')
        return render(request,'add_field.html')

это мой код модели:

    class Field(models.Model):
        field_name = models.CharField(max_length=100)
        field_type = models.CharField(max_length=50)
        is_required = models.BooleanField()

        def __str__(self):
            return self.field_name


    class Contact(models.Model):
        attribute = models.ManyToManyField(Field)

        def name(self):
            return self.attribute

это мой HTML-код-

     <form action="">
            <div class="container">
                    <h1>Add Contact</h1><br><br>
                <div class="box">
                    {% if messages %}
                    <ul>
                        {% for message in messages %}
                        <li><h4>{{message}}</h4></li>
                        {% endfor %}
                    </ul>
                    {% endif %}
                </div>

                {% for field in fields.all %}
                <div class="col-lg-4 mb-20">
                    <label for="{{ field }}">{{ field }}</label>
                    <input type="{{ field.field_type }}" id="{{ field }}" name="{{ field }}">
                </div>
                {% endfor %}
            </div>

            <div class="col-12 mb-20">
                    <br /><br /><br /><br />
                      <input type="submit" value="submit" class="button btn-success">
                      <input type="submit" value="cancel" class="button btn-danger">
            </div>

        </div>
        </form>

Я пытаюсь добавить данные в мою форму, которая имеет метки (метки - это значения, хранящиеся в field_name) и соответствующее поле ввода, созданное в соответствии с этим.Но когда я отправляю в эту форму значение, которое выглядит примерно так - <QuerySet [<Field: name>, <Field: contact>, <Field: age>]> Я не смог сохранить свое значение в имени поля, контакте, возрасте или любом другом поле, которое я добавлю через форму.Пожалуйста, дайте мне решение, если кто-нибудь может.

...