Как использовать ModelChoiceField в Django Admin - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь выяснить, как использовать ModelChoiceField для получения опций выбора из базы данных и отображения поля в виде поля выбора (одиночный выбор) в области администрирования Django на странице формы модели. Код, который у меня есть в форме модели, показан ниже, но поле отображается в виде текстового поля и, очевидно, не заполнено ни одним из параметров (да, они существуют в таблице SomeObjectHere базы данных). Мне также нужно знать, как сделать то же самое с множественным выбором (более одного выбора)

from .models import *
from django import forms
from django.forms import ModelForm, Textarea, RadioSelect, CheckboxInput,CheckboxSelectMultiple, TextInput, Select
from references.models import *

class MyModelForm(ModelForm):
    PropertyName = forms.ModelChoiceField(queryset=SomeObjectHere.objects.all())

class Meta:
    model = MyModel
    fields =('__all__')
    # exclude = ('',)
    widgets = {
        'PropertyNameHere' : Select()          
    }

def __init__(self, *args, **kwargs):
    super(MyModelForm, self).__init__(*args,**kwargs)

Admin.py выглядит так:

class MyModelAdmin(admin.ModelAdmin):

(не совсем уверен, что мне нужно сделать здесь. Я использую Grapelli, который использует медиа-класс)

class Media:
    js = [
        '/static/grappelli/tinymce/jscripts/tiny_mce/tiny_mce.js',
        '/static/grappelli/tinymce_setup/tinymce_setup.js',
    ]
...