2016-03-21 12 views
-1

Herhangi bir ülke seçip o zaman sadece ilgili devlet göstermelidir hangi ülke devlet ilişkilerine ihtiyacım var bir form yapıyorum. durumu görebilmek için böyle yazma yaklaşık benim database.and için yaklaşık 260 ülkede 4200 ise benim models.pydevlet ve ülke arasındaki ilişkiyi oluşturmak için herhangi bir ülke seçerken sadece ilgili stat göstermek için nasıl

class Country(models.Model): 
    countryId=models.IntegerField(default=0) 
    country=models.CharField(max_length=50) 

    def __str__(self): 
     return self.country 

class State(models.Model): 
    state_id=models.IntegerField(default=0) 
    state=models.CharField(max_length=50) 

    def __str__(self): 
     return self.state 


class City(models.Model): 
    cityid=models.IntegerField(default=0) 
    city=models.CharField(max_length=50) 

    def __str__(self): 
     return self.city 

ve

class alldataviewset(viewsets.ModelViewSet): 
    print "in views et" 
    queryset=All.objects.all() 
    serializer_class=AllSerializers 
    print "before get" 
    def list(self, request,*args): 
     data=request.GET 
     var=data.get('var') 
     print"before if",var 
     if var=='101': 
      print "inside if" 
      for i in range(1,42): 
       print "inside for" 
       print "states of india",i 


     else: 
      print "hahahha" 

     return Response("serializer.data") 

görüşlerim working.but onun isteği çok uzun olduğu views.py böylece tüm kodu benim yolum gibi yazıyorsa, o zaman bu sayıları 4500'ümdeki views.py içine yazmam gerekiyor. Bence uygun bir yol değil. Lütfen kodumu nasıl yazabileceğimi bana bildirin.

cevap

0

chained jquery kütüphanesini kullanabilirsiniz. forms.py içinde ForeignKey alan için

Rewrite render_option:

sizinki modelleri arasındaki ilişkiyi kullanın Birçok kullanım kullanımına katılan seçme için bu post de models.ForeignKeyhere

Bak Bir.

+0

Binlerce çocuk için ajax http://stackoverflow.com/questions/35611775/how-to-limit-the-choices-of-a-child-field-based-on-a-parent-fields adresinden yararlanabilirsiniz. değeri/35638407 # 35638407 – erajuan

İlgili konular