South kullanan Django projem için özel bir alan eklemeye çalışıyorum. Bu nedenle, (ilk kez) introspection rules for South yazmayı deniyorum. Benim durumumun sadece bir CharField'ı genişletmemin mümkün olduğu en basit yol olduğuna inanıyorum. Özellikle:Django'ya Basit Özel Alan Ekleme - South Introspection Kuralları Nasıl Yazılır
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)
Bu ilgilenenler için jQuery color picker model field adında bir Django pasajımızdaki olduğunu.
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^myproject\.myapp\.models\.ColorField"])
Muhtemelen açıktır ama nereye gittikleri olmalıdır: Ben herhangi bir yeni özellikleri ekledikten değilim beri
, ben sadece bu kod satırları eklemek zorunda inanıyoruz? Ayrıca, benim tüm bunların doğru yapmak zorunda olduğum varsayımı mı?
Burada yayınlanan bazı soruları inceledim, ancak çoğu çok daha karmaşık iç gözlemlerle uğraşır.
http://south.readthedocs.org/en/latest/customfields.html#where-to-put-the-code uyarınca, özel alanın tanımlandığı benim models.py dosyasının en üstündeki kodu uygulamaya çalıştım. Ama bu işe yaramadı.