0

这是向每个内联添加自定义 JS 代码(实际上是任何 HTML)的工作示例:http: //djangosnippets.org/snippets/1261/

但我无法为RadioSelect管理员中的类型字段重现它。

型号model.py

class Work(models.Model):
    client = models.ForeignKey(Client)

    IMAGE = 'IM'
    VIDEO = 'VI'
    CONTENT_TYPE = (
        (IMAGE, 'Image'),
        (VIDEO, 'Video'),
    )

    content_type = models.CharField(max_length=2,
                                    choices=CONTENT_TYPE,
                                    default=IMAGE)

并且admin.py

class WorkInline(admin.TabularInline):
    fields = ('content_type',)
    radio_fields = {"content_type": admin.VERTICAL}
    model = Work

我不知道如何覆盖render()for radio_fields(就像上面示例中所做的那样TextInput)以将我的代码注入它们。或者可能有一些更简单的方法?

感谢帮助。

4

1 回答 1

0
  1. 您应该从 forms.py 开始调用该文件,您应该创建一个像这样的类:

    class WorkForm(forms.ModelForm):
    
        class Meta:
             model = Work
    
        def __init__(self, *args, **kwargs):
             super(WorkForm, self).__init__(*args, **kwargs)
             self.fields['content_type'].widget = ColorPickerWidget()
    
  2. 不要忘记导入小部件

于 2013-05-13T01:38:02.177 回答