私はdjangoプロジェクトでautocomplete_lightの実用的な実装を行っており、ドロップダウンでcitys_lightから値を取得しています。これにより、フォーム送信時にdbのフィールドに外部キーが正しく保存されます。フォームに再度アクセスすると、オートコンプリート テキスト フィールドが保存されている値にデフォルト設定され、理想的にはプレーン テキストの値と「X」ボタン (既に組み込まれているように) が表示されます。現在、プレースホルダー テキストと空白のテキスト フィールドが表示されています。フォームに保存されているその他の値 (ここでは省略) は、フォームに再度アクセスしたときに正しくデフォルト設定されています。保存された値を表示するウィジェットをトリガーするには、ここに何を追加する必要がありますか? これが私のコードです:
フォーム.py
class UserProfileForm(autocomplete_light.GenericModelForm):
location = autocomplete_light.GenericModelChoiceField(
widget=autocomplete_light.ChoiceWidget(
autocomplete='AutocompleteItems',
autocomplete_js_attributes={'placeholder':'City, State, Country',
'minimum_characters': 3})
)
class Meta:
model = UserProfile
fields = ['location']
models.py
class UserProfile(models.Model):
user = models.ForeignKey(
User,
unique=True
)
location = models.ForeignKey(
City,
blank=True,
null=True
)
autocomplete_light_registry.py
class AutocompleteItems(autocomplete_light.AutocompleteGenericBase):
choices = (
City.objects.all(),
)
search_fields = (
('search_names',),
)
autocomplete_light.register(AutocompleteItems)