0
我有2個下拉菜單。Django - 根據另一個下拉菜單限制下拉選項
首先下拉請求類型。
我有第二個下拉菜單顯示來自另一個模型的值。
我需要的是,如果第一個下拉爲類型:qualif,我只想顯示第二個下拉的pk = 1。
這是我到目前爲止有:
name = models.CharField(max_length=40,verbose_name="nom")
type = models.CharField(max_length=6,choices=TYPE_CHOICES)
division = models.ForeignKey(Division,verbose_name="division")
class TournamentForm(forms.ModelForm):
def clean(self):
super(TournamentForm, self).clean() #if necessary
if 'division' in self._errors:
"""
reset the value (something like this i
think to set the value b/c it doesnt get set
b/c the field fails validation initially)
"""
if self.data['type'] == 'qualif':
division = Division.objects.get(pk=1)
self.division = division
# remove the error
del self._errors['division']
return self.cleaned_data
# Register your models here.
class TournamentAdmin(reversion.VersionAdmin):
form = TournamentForm
list_display = ('name', 'date', 'division', 'gender')
ordering = ('date', 'name')
list_filter = ['date', 'season', 'division', 'gender']
admin.site.register(Tournament, TournamentAdmin)
我從另一個棧的問題閱讀使用清潔......但遺憾的是它不工作...
編輯: 細算@ Mardo的鏈接,我嘗試加載一個靜態文件。
這裏是我的文件夾設置:
的myproject /靜態/管理/ JS/myfile.js
這在我的settings.py
STATIC_URL = '/靜態/'
但它一直說文件沒有找到...
謝謝, 阿拉
可能更簡單的做客戶端。將所有可能的值與某種映射一起發送到網頁,然後在第一個下拉列表更改時使用javascript或jquery重新填充第二個下拉列表。 – jarmod
我幾天前發佈了一個類似的問題。我正在尋找一個'concetptual'的答案,一個指導,瞭解django關於這些東西的可能性。答案很清楚,我認爲它也會對你有所幫助。 http://stackoverflow.com/questions/20753810/django-make-field-editable-depending-on-the-value-of-other-field – 2014-01-05 03:13:52
@Marcos Modenesi,謝謝!我在加載資產文件時遇到了問題...我編輯了我的第一篇文章以顯示文件夾設置。 –