habe ich 3 Modelle:Mit django-dynamic-Formset mit CreateWithInlinesView von django-extra-Ansichten - mehrere Formularsätze
class Client(models.Model):
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=40)
class Phone(models.Model):
number = models.CharField(max_length=10)
client = models.ForeignKey(Client)
class ClientEmail(models.Model):
client = models.ForeignKey(Client)
address = models.EmailField(verbose_name='Email')
eine Form und zwei Inline-Formularsätze:
class ClientForm(ModelForm):
class Meta:
model = Client
class PhoneFormSet(InlineFormSet):
model = Phone
extra = 1
class EmailFormSet(InlineFormSet):
model = ClientEmail
extra = 1
Ansicht:
class ClientCreateView(LoginRequiredMixin, CreateWithInlinesView):
model = Client
inlines = [PhoneFormSet, EmailFormSet,]
und Arbeitsvorlage:
{% extends 'base.html' %}
{% block extra_head_script %}
<script src="{{ STATIC_URL }}js/jquery.formset.js"></script>
{% endblock %}
{% block content %}
<form action="." method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
{% for formset in inlines %}
<div id="{{ formset.prefix }}">
{% for subform in formset.forms %}
<table>
{{ subform.as_table }}
</table>
{% endfor %}
{{ formset.management_form }}
</div>
{% endfor %}
<input type="submit" value="Add client" class="submit"/>
</form>
{% endblock %}
Ich habe gerade angefangen mit ClassBasedViews und kann nicht herausfinden, wie django-dynamic-formset js mit django-extra-views in meiner Vorlage zu verwenden.
Linie 5 sollte '$ ('div # {{formset.prefix}}') formset ({', da Sie arbeiten sollten habe nicht 'FormSet' in der div's ID der ursprünglichen Frage (oder du könntest' FormSet' zu Zeile 13 in der Vorlage hinzufügen) – mislavcimpersak
kannst du mir bitte sagen, wie du ein neues Unterformular auf der Client Seite hinzugefügt hast ??? Ich möchte hinzufügen neues Unterformular nach Bedarf auf der Clientseite. –