我在使 Django“智能选择”应用程序正常运行时遇到了问题。它不会填充我的链接字段的选择。 github“https://github.com/digi604/django-smart-selects”上的“readme”文件提供了以下说明。
- 链接字段是同一模型上的字段,该字段也应链接。
- 链接模型字段是链接模型的字段,该链接模型也对应于链接字段所链接的模型。
我觉得说明有点含糊,它们没有显示大陆和县表的模型,以使其更容易。
我之前发布了一个关于此的问题,但我没有得到回复。它有更多关于我的特定型号的信息。 “http://stackoverflow.com/questions/9155350/django-smart-selects-second-level-wont-populate”
希望有一些“django-smart-selects”专家可以帮助我渡过难关。谢谢
from smart_selects.db_fields import ChainedForeignKey
class Location(models.Model)
continent = models.ForeignKey(Continent)
country = ChainedForeignKey(
Country,
chained_field="continent",
chained_model_field="continent",
show_all=False,
auto_choose=True
)
area = ChainedForeignKey(Area, chained_field="country", chained_model_field="country")
city = models.CharField(max_length=50)
street = models.CharField(max_length=100)
最佳答案
你应该在 urls.py 中插入:
url(r'^chaining/', include('smart_selects.urls')),
这是我所做和工作的:
#=================================
#models.py
from smart_selects.db_fields import ChainedForeignKey
class Continent(models.Model):
continent = models.CharField(max_length = 45)
def __unicode__(self):
return unicode(self.continent)
class Country(models.Model):
continent = models.ForeignKey(Continent)
country = models.CharField(max_length = 45)
def __unicode__(self):
return unicode(self.country)
class Area(models.Model):
country = models.ForeignKey(Country)
area = models.CharField(max_length = 45)
def __unicode__(self):
return unicode(self.area)
class Location(models.Model):
continent = models.ForeignKey(Continent)
country = ChainedForeignKey
(
Country,
chained_field = "continent",
chained_model_field = "continent",
show_all = False, auto_choose = True
)
area = ChainedForeignKey(Area, chained_field = "country", chained_model_field = "country")
city = models.CharField(max_length = 50)
street = models.CharField(max_length = 100)
#=================================
#admin.py
from yourapp.models import Continent
from yourapp.models import Country
from yourapp.models import Area
from yourapp.models import Location
class ContinentAdmin(admin.ModelAdmin):
pass
class CountryAdmin(admin.ModelAdmin):
pass
class AreaAdmin(admin.ModelAdmin):
pass
class LocationAdmin(admin.ModelAdmin):
pass
admin.site.register(Continent, ContinentAdmin)
admin.site.register(Country, CountryAdmin)
admin.site.register(Area, AreaAdmin)
admin.site.register(Location, LocationAdmin)
关于jquery - django 智能选择应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182061/