Estoy tratando de agregar un campo personalizado a mi proyecto Django que usa South. Debido a esto, estoy intentando (por primera vez) escribir introspection rules for South. Creo que mi caso es el más simple posible ya que simplemente extiendo un CharField. Específicamente:Agregar campo personalizado simple a Django - Cómo escribir reglas de introspección sur
class ColorField(models.CharField):
def __init__(self, *args, **kwargs):
kwargs['max_length'] = 10
super(ColorField, self).__init__(*args, **kwargs)
def formfield(self, **kwargs):
kwargs['widget'] = ColorPickerWidget
return super(ColorField, self).formfield(**kwargs)
Se trata de un fragmento de Django llamada jQuery color picker model field para los interesados.
Como yo no estoy añadiendo nuevos atributos, creo que no tengo más que añadir estas líneas de código:
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^myproject\.myapp\.models\.ColorField"])
es probable que sea obvio, pero ¿dónde debería ir? Además, ¿asumo que esto es todo lo que tengo que hacer?
He revisado varias preguntas publicadas aquí, pero la mayoría se ocupan de introspecciones mucho más complejas.
Por http://south.readthedocs.org/en/latest/customfields.html#where-to-put-the-code, he intentado poner el código en la parte superior de mi archivo models.py donde está definido el campo personalizado. Pero esto no funcionó.