擅长:python、mysql、java
<p>我也遇到了同样的问题,最后由于这两个<a href="https://stackoverflow.com/questions/3199230/display-json-text-as-a-friendly-list-in-django-admin">different</a><a href="https://stackoverflow.com/questions/4176613/django-admin-using-a-custom-widget-for-one-field">answers</a>才解决了。在</p>
<p>在这种情况下,您需要的是一个自定义小部件,它将字符串列表呈现为字符串。此小部件需要绑定到自定义字段:</p>
<pre><code>class FlattenListWidget(forms.TextInput):
def render(self, name, value, attrs=None):
if not value is None:
value = ','.join(str(v) for v in value)
return super(FlattenListWidget, self).render(name, value, attrs)
class UserProfileAdminForm(forms.ModelForm):
class Meta:
model = UserModel
widgets = {
'device_ids': FlattenListWidget(),
}
class UserProfileAdmin(admin.ModelAdmin):
form = UserProfileAdminForm
</code></pre>
<p>希望能奏效。我的代码中有不同的模型名,但我设法从我的自定义字段中获得一个包含逗号分隔的值列表的文本输入。在</p>
<p>如果要用逗号和空格连接字符串,请记住<code>strip()</code>自定义字段的<code>get_db_prep_value</code>方法中的值。否则,这些空间将被保存回数据库。在</p>
<p>要使用<code>list_display</code>中的自定义字段,可以向管理模型添加自定义字段:</p>
^{pr2}$