Can anyone suggest how to approch this??? On Sun., Jun. 7, 2020, 12:09 p.m. chaitanya orakala, < chaitu.orak...@gmail.com> wrote:
> *sure, here is my code*. please let me know how can I modify this to > achieve a dependent drop fields. > I want it to make action on executive_authority, next fields should pop-up > > *Views.py* > **** > from django.shortcuts import render, redirect > from er_form.forms import NewClientForm, BillingGroupForm > from django.template.context_processors import csrf > > def index(request): > context = {} > return render(request, 'er_form/index.html', context) > > > def client(request): > if request.method == 'POST': > client_form = NewClientForm(request.POST) > billing_form = BillingGroupForm(request.POST) #saving the > instance > > if client_form.is_valid() and billing_form.is_valid(): > form = client_form.save() > bform = billing_form.save(commit=False) #to create > relatnshp between 2forms,dont save just collect instance > > bform.form = form #creating rltnshp between two forms > bform.client_id=1 > bform.save() #saving both forms > > return redirect('client') > > else: > client_form = NewClientForm() > billing_form = BillingGroupForm() > args = {} > args.update(csrf(request)) > args['client_form'] = client_form > args['billing_form'] = billing_form > > return render(request, "er_form/client.html", args) > **** > *models.py* > **** > from __future__ import unicode_literals > from django.utils import timezone > from django.db import models > from datetime import datetime, date, timedelta > from django.core.validators import RegexValidator > > # Create your models here. > #New Client model > class NewClient(models.Model): > #choices for selection > > > status_choice = [ > ('active', 'Active'), > ('inactive', 'In-Active'), > ] > > #User Input Feilds > business_name = models.CharField(max_length=1024, help_text='Enter > Your Business Name') > legal_name = models.CharField(max_length=1024, help_text='Enter Legal > Name, if different from the Business') > nature_of_business = models.CharField(max_length=1024) > years_in_business = models.PositiveIntegerField(default=0) > company_type = models.CharField(max_length=20) > #Data provided by Tool to reflect in Database > association_name = models.CharField(max_length=20, default='OCIBP') > group = models.CharField(max_length=30, default='', null=True) > code = models.CharField(max_length=10, default='000') > status = models.CharField(max_length=15, choices=status_choice, > default='active') > > anniversery_date=models.DateTimeField(default=datetime.now()+timedelta(days=365)) > service_rep = models.CharField(max_length=50, default='Carolina') > sales_person = models.CharField(max_length=50, default='Robert > Perusco') > renewal_agent = models.CharField(max_length=50, default='Merit > Ontario') > first_billing_period = models.DateField(auto_now_add=True) > created_on = models.DateField(auto_now=True) > created_by = models.DateField(null=True) > last_updated_on = models.DateField(null=True) > last_updated_by = models.DateField(null=True) > current_state = models.CharField(max_length=15, default='open') > original_service_date = models.DateField(auto_now_add=True) > cert_length = models.PositiveIntegerField(null=True) > cert_start = models.DateField(null=True) > require_pin = models.CharField(max_length=15, null=True) > require_alt_pin = models.CharField(max_length=15, null=True) > > > > > > def __str__(self): > return self.business_name > > #BillingGroup Model > > class BillingGroup(models.Model): > client = models.ForeignKey(NewClient) > name = models.CharField(max_length=1024, default='Administration Fee') > billing_type = models.CharField(max_length=1024, default='Per Person > Charge') > remit_to = models.CharField(max_length=1024, default = 'BSL') > language = models.CharField(max_length=50, default='English') > legacy_system_code = models.CharField(max_length=20, null=True) > carrier_division_code = models.CharField(max_length=20, null=True) > invoice_override = models.CharField(max_length=20, null=True) > address_1 = models.CharField("Address line 1",max_length=1024,) > address_2 = models.CharField("Address line 2",max_length=1024,) > city = models.CharField("City",max_length=1024,) > province = models.CharField("Province",max_length=30,) > country = models.CharField("Country", max_length=30) > zip_code = models.CharField("ZIP / Postal code",max_length=12,) > first_name = models.CharField("First Name", max_length=30, ) > last_name = models.CharField("Last Name", max_length=30,) > title = models.CharField("Title/Position", max_length=1024) > email = models.EmailField("Authorized - Email", max_length=254) > phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone > number must be entered in the format: '+999999999'. Up to 15 digits > allowed.") > phone_number = models.CharField(validators=[phone_regex], > max_length=17, blank=True) # validators should be a list > fax = models.CharField(max_length=30, null=True) > send_notification = models.BooleanField(default=True) > executive_authority = models.CharField(verbose_name = "Is This Person > also has Signing Authority", max_length=15,) > exec_first_name = models.CharField("Executive First Name", > max_length=30, ) > exec_last_name = models.CharField("Executive Last Name", > max_length=30,) > exec_title = models.CharField("Executive Title/Position", > max_length=1024) > exec_email = models.EmailField("Executive - Email", max_length=254) > exec_phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', > message="Phone number must be entered in the format: '+999999999'. Up to 15 > digits allowed.") > exec_phone_number = models.CharField("Executive Phone > Number",validators=[phone_regex], max_length=17, blank=True) > exec_fax = models.CharField("Fax number",max_length=30, null=True) > payment_type = models.CharField(max_length=30) > institution_code = models.CharField(max_length=30) > branch_number = models.CharField(max_length=30) > account_number = models.CharField(max_length=30) > withdraw_day = models.DateField(null=True, blank=True) > federal_tax_province = models.CharField(max_length=30, > default="Ontario") > > def __str__(self): > return self.client > **** > *client.html* > > ****** > {% extends 'er_form/index.html' %} > > {% block content %} > <div class="container"> > <div class="form-group"> > <form method="POST"> > {% csrf_token %} > {{ client_form.as_p }} > {{ billing_form.as_p }} > <button type="submit" class="btn btn-primary">Submit</button> > </form> > </div> > </div> > {% endblock content %} > > ****** > *urls.py* > ***** > from django.conf.urls import url > from er_form import views > > urlpatterns = [ > url('', views.client, name="client"), > ] > ***** > I am combining two model forms into a single HTML template. > > Please have a look AZIZ sir > > > On Sun, Jun 7, 2020 at 11:53 AM AMINE AZIZ <a.amine...@gmail.com> wrote: > >> You 'll use JQUERY normal as the same in html >> >> You need every html id (so you cab add on change) >> >> JQUERY on change select >> Show hidden popup / or show hidden input >> >> Share your code. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to django-users+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/45f6db02-6231-4e49-b97a-93565012abf9o%40googlegroups.com >> . >> > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAPcTzRZ5yL-K2kC41%3DZV0O%2B65wVsQMkW6ZUdE5K08qwR7sd3Nw%40mail.gmail.com.