Dear group, I am Django learner.
I have two models. 1. ModelRegister 2. ModelGSP ModelRegister returns model_name. ModelGSP has a foreignkey to ModelRegister. When we select a particular model from a ModelGSP model,i want to fill a field in ModelGSP with the data for a selected model when ajax request is made. Input data and expected result shown in screen shot below. *currently when i select any model from RegisteredModel, none of the data is populated in get_model_nos_for_modelname field.* *Please correct me if i am doing any mistake and how to proceed further.* [image: query.png] Below is my code snippet : Enter code here... Models.py: ======= class ModelRegister(models.Model): """ This class is used to register the model. """ FLOAT_CHOICES = [[float(x), float(x)] for x in range(1, 21)] model_name = models.CharField(max_length=128, verbose_name="ModelName") model_no = models.CharField(max_length=128, verbose_name="ModelNo") os_name = models.ForeignKey(OSName, on_delete=models.CASCADE, verbose_name="OSName",default=" ") chipset_type = models.ForeignKey(ChipsetType,on_delete=models.CASCADE, verbose_name="chipsetType") class Meta: verbose_name_plural = "ModelRegisteredList" def __str__(self): return self.model_name class ModelGSP(models.Model): """ This class is used to raise Model GSP request. """ registered_model = models.ForeignKey(ModelRegister,on_delete=models.CASCADE, verbose_name="ModelName") model_nos_for_reg_model = models.ManyToManyField(ModelNumber) model_gsp_requester = models.CharField("Model GSP Requester", max_length=128,default=" ") integrator = models.CharField("Integrator", max_length=100,default=" ") class Meta: verbose_name_plural = "ModelGSPRequests" def __str__(self): return self.model_gsp_requester + self.integrator + str(self.pk) class ModelRegisterForm(ModelForm): """ This class is used to register the model information. """ class Meta: model = ModelRegister exclude = ['model_leader'] #fields = '__all__' @property def helper(self): helper = FormHelper() helper.form_tag = 'model_register_form' helper.layout = Layout( Fieldset( 'Registered Model Details', #Row('model_leader' ), Row('model_name','model_no'), Row('os_name', 'os_version'), Row('chipset_type','chipset_name') ) ) return helper class ModelGSPRequestForm(ModelForm): """ This class is used to define the form fields to raise the model GSP request. """ registered_model = forms.ChoiceField(required=False,choices=unique_values) #model_nos_for_reg_model = forms.ModelMultipleChoiceField(required=False,queryset=) class Meta: model = ModelGSPRequest exclude = ['model_gsp_requester'] #choices=[] def __init__(self, *args, **kwargs): super(ModelGSPRequestForm, self).__init__(*args, **kwargs) #self.form_tag = False self.helper = FormHelper() self.helper.layout = Layout( Fieldset("Add Model GSP Request", Row('registered_model','model_nos_for_reg_model') ) ) self.fields['model_nos_for_reg_model'].queryset = ModelNumber.objects.none() ajax.py: ======== def load_model_details(request): print("load model details") print("request method",request.method) model_name_id = request.GET.get("model_name") model_registered_instances = ModelRegister.objects.filter(model_name_id=model_name_id) model_number = [] for model in model_registered_instances: model_number = model_number.append(model.model_no) print("Model Number:", model_number) return render(request, 'model_info_options.html', {'model_registered_instances':model_registered_instances}) model_info_options.html: ======================== <!DOCTYPE html> <html lang="en"> <option value="">---------</option> {% for model in model_registered_instances %} <option value="{{ model.pk }}">{{ model.model_no }}</option> {% endfor %} </html> ModelGSP.html: ============= <!DOCTYPE html> {% extends 'base.html' %} {% load crispy_forms_tags %} {% block static %} {% endblock static %} {% block content %} <form class="form" form='model_gsp_form' id="gspmodelinfoForm" method="post" model-details-url="{ %url 'ajax_load_model_details' %}" role="form"> {% csrf_token %} <div class="container"> {% crispy form %} <br> <br> <button type="submit" class="btn btn-primary"> {% if action == "add" %} <span class="fas fa-plus"></span>Add {% else %} <span class="fas fa-edit"></span>Update {% endif %} </button> <button type="reset" class="btn btn-primary" aria-label="Close" data-dismiss="modal"> <span aria-hidden="true">×</span>Cancel </button> </div> </form> {% endblock content %} {% block scripts %} <script type="text/javascript"> $(document).ready(function(){ $("#id_registered_model").change(function () { var url = $("#gspmodelinfoForm").attr("model-details-url"); # Get the url of the 'gspmodelinfoForm' view var model_name_id = $(this).val(); //get the selected model name id from the HTML input $.ajax({ //Initialize an ajax request url: url, //Set the URL of the request data: { 'model_name' : model_name_id // add the model name to the GET parameters }, success: function(data) { // 'data' is return of 'load_model_details' view function $(#"id_registered_model_no").html(data) // place the contents of the model no with the data came from server } }); }); }); </script> {% endblock scripts %} def create_model_gsp_request_form(request,id=None): print("create_model_gsp_request_form:", id) if id: action = 'edit' model = get_object_or_404(ModelGSPRequest, pk=id) else: action = 'submit' model = ModelGSPRequest() message = "" if request.method == 'POST': print("when the request is POST ,In ModelGSPRequestForm") form = ModelGSPRequestForm(request.POST, instance=model) if form.is_valid(): new_model_gsp_request = form.save(commit=False) new_model_gsp_request.model_gsp_requester = request.user.username new_model_gsp_request.save() form.save_m2m() return HttpResponseRedirect('/gspapp/ModelGSPRequestList') else: print("when the request is GET ,In ModelGSPRequestForm") form = ModelGSPRequestForm(instance=model) # apply_gsp_model_data = serializerModelGSPRequestLists.serialize("json", ApplyGSP.objects.all()) # print("apply_gsp_model_Data:",apply_gsp_model_data) context = {'form': form, 'Message': message, 'action': action} context = {'form': form, 'Message': message, 'action': action} return render(request, 'ModelGSP.html', context) urls.py: ------- urlpatterns = [ path('ModelGSPRequestList/', login_required(views.ModelGSPRequestList.as_view(), login_url='/gspapp/login/'), name='ModelGSPRequestList'), path('ModelGSPRequestList/requestForm/', views.create_model_gsp_request_form, name='ModelGSPRequestForm'), re_path(r'^editModelGSPRequest/(?P<id>\d+)/$', views.create_model_gsp_request_form, name='editModelGSPRequest'), #path('',include(router.urls)), path('ajax/load_model_details/', ajax.load_model_details,name='ajax_load_model_details')] Regards, N.Dilip kumar. -- 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/40fadea3-1530-4134-8b2b-4c4ea0e9a826%40googlegroups.com.