그래서 나는 다음과 같이 몇 장고 모델이 다른 필드에 값 필드의 선택을 ForeignKeyFeild :필터
class City(models.Model):
name = models.CharField("City", max_length=200)
def __unicode__(self):
return self.name
class Meta:
verbose_name_plural="Cities"
class Neighborhood(models.Model):
name = models.CharField("Neighborhood", max_length=200)
city = models.ForeignKey(City, verbose_name='City')
def __unicode__(self):
return self.name + " in " + str(self.city)
class Application(models.Model):
NUM_BED_CHOICES = ((1, u'Rollin Solo'), (2, u'2 Bedrooms'), (3, u'3 Bedrooms'), (4, u'4 Bedrooms'),)
LEASE_LENGTH_CHOICES = ((u'SUM', u'Summer'), (u'1YR', u'One Year'), (u'2YR', u'Two Years'), (u'2Y+', u'Two Years+'),)
user = models.ForeignKey(User)
neighborhood = models.ForeignKey(Neighborhood, verbose_name="Neighborhood")
moveinDate = models.DateField("Move-in Date")
numberOfBedrooms = models.SmallIntegerField("Number of Bedrooms", choices=NUM_BED_CHOICES)
leaseLength = models.CharField("Lease Length", max_length=3, choices=LEASE_LENGTH_CHOICES)
bedroomBudget = models.DecimalField("Budget Per-Bedroom", max_digits=10, decimal_places=2)
hasPet = models.BooleanField("Has Pet")
hasBeenPlaced = models.BooleanField("Has Been Placed", default=False)
class Meta:
verbose_name = "Application"
그리고 나는 위해 appliction을위한 모델 양식을 가지고, 즉 그냥이있다 :
class ApplicationForm(ModelForm):
class Meta:
model = Application
exclude = ('hasBeenPlaced','user',)
내 도시 모델에서 도시 개체 중 하나에서 사용자가 선택할 수 있도록 내 ApplicationForm
에 선택 위젯을 추가하고 해당 선택에 따라 주변 지역을 필터링 할 수 있도록하고 싶습니다. 예를 들어, 내가 추가하려는이 추가 필드에서 '시카고'를 선택하면 시카고에 없었던 모든 이웃을 ApplicationForm
에서 선택할 수있는 사용 가능한 이웃 목록에서 제거합니다. 이것이 장고와 가능한가? 그렇다면 그러한 작업을 어떻게 성취 할 수 있습니까?
차가움. 어딘가에 javscript/AJAX를 사용할 필요가 있다고 생각했습니다. 장고가 이런 일을 돕기 위해 뭔가를 내장하고 있는지 알고 싶었습니다. –