У меня есть несколько раскрывающихся списков, которые зависели друг от друга, как показано ниже: Провинция -> Город -> Бахш -> Дехестан -> Абади
мои модели:
from django.db import models
# Create your models here.
class Province(models.Model):
id = models.CharField(primary_key=True, max_length=2)
name = models.CharField(max_length=50)
family = models.IntegerField()
population = models.IntegerField()
men = models.IntegerField()
women = models.IntegerField()
def __str__(self):
return self.name
class City(models.Model):
id = models.CharField(primary_key=True, max_length=4)
province = models.ForeignKey(Province, on_delete=models.CASCADE)
name = models.CharField(max_length=60)
family = models.IntegerField()
population = models.IntegerField()
men = models.IntegerField()
women = models.IntegerField()
def __str__(self):
return self.name
class Bakhsh(models.Model):
id = models.CharField(primary_key=True, max_length=6)
province = models.ForeignKey(Province, on_delete=models.CASCADE)
city = models.ForeignKey(City, on_delete=models.CASCADE)
name = models.CharField(max_length=70)
family = models.IntegerField()
population = models.IntegerField()
men = models.IntegerField()
women = models.IntegerField()
def __str__(self):
return self.name
class Dehestan(models.Model):
id = models.CharField(primary_key=True, max_length=10)
province = models.ForeignKey(Province, on_delete=models.CASCADE)
city = models.ForeignKey(City, on_delete=models.CASCADE)
bakhsh = models.ForeignKey(Bakhsh, on_delete=models.CASCADE)
name = models.CharField(max_length=80)
family = models.IntegerField()
population = models.IntegerField()
men = models.IntegerField()
women = models.IntegerField()
def __str__(self):
return self.name
class Abadi(models.Model):
id = models.CharField(primary_key=True, max_length=16)
province = models.ForeignKey(Province, on_delete=models.CASCADE)
city = models.ForeignKey(City, on_delete=models.CASCADE)
bakhsh = models.ForeignKey(Bakhsh, on_delete=models.CASCADE)
dehestan = models.ForeignKey(Dehestan, on_delete=models.CASCADE)
name = models.CharField(max_length=90)
family = models.IntegerField(null=True)
population = models.IntegerField(null=True)
men = models.IntegerField(null=True)
women = models.IntegerField(null=True)
def __str__(self):
return self.name
и мой файл admin.py:
from django.contrib import admin
from .models import Province,City,Bakhsh,Dehestan,Abadi,License
# Register your models here.
admin.site.register(Province)
admin.site.register(City)
admin.site.register(Bakhsh)
admin.site.register(Dehestan)
admin.site.register(Abadi)
Но он не работает правильно.
Я хочу, чтобы при выборе провинции появлялись связанные города, а затем появлялись связанные бахшпоявляются родственные дехестаны и, наконец, появляются родственные абади.
У вас есть идея решить эту проблему?