#467 Added label and help_text to Field

parent 3e3ede71
...@@ -38,13 +38,15 @@ class Field(object): ...@@ -38,13 +38,15 @@ class Field(object):
_use_files = None _use_files = None
form_field_class = forms.CharField form_field_class = forms.CharField
def __init__(self, source=None): def __init__(self, source=None, label=None, help_text=None):
self.parent = None self.parent = None
self.creation_counter = Field.creation_counter self.creation_counter = Field.creation_counter
Field.creation_counter += 1 Field.creation_counter += 1
self.source = source self.source = source
self.label = label
self.help_text = help_text
def initialize(self, parent, field_name): def initialize(self, parent, field_name):
""" """
...@@ -123,11 +125,11 @@ class WritableField(Field): ...@@ -123,11 +125,11 @@ class WritableField(Field):
widget = widgets.TextInput widget = widgets.TextInput
default = None default = None
def __init__(self, source=None, read_only=False, required=None, def __init__(self, source=None, label=None, help_text=None,
read_only=False, required=None,
validators=[], error_messages=None, widget=None, validators=[], error_messages=None, widget=None,
default=None, blank=None): default=None, blank=None):
super(WritableField, self).__init__(source=source, label=label, help_text=help_text)
super(WritableField, self).__init__(source=source)
self.read_only = read_only self.read_only = read_only
if required is None: if required is None:
...@@ -215,6 +217,7 @@ class ModelField(WritableField): ...@@ -215,6 +217,7 @@ class ModelField(WritableField):
""" """
A generic field that can be used against an arbitrary model field. A generic field that can be used against an arbitrary model field.
""" """
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
try: try:
self.model_field = kwargs.pop('model_field') self.model_field = kwargs.pop('model_field')
......
...@@ -428,6 +428,12 @@ class ModelSerializer(Serializer): ...@@ -428,6 +428,12 @@ class ModelSerializer(Serializer):
if max_length: if max_length:
kwargs['max_length'] = max_length kwargs['max_length'] = max_length
if model_field.verbose_name:
kwargs['label'] = model_field.verbose_name
if model_field.help_text:
kwargs['help_text'] = model_field.help_text
field_mapping = { field_mapping = {
models.FloatField: FloatField, models.FloatField: FloatField,
models.IntegerField: IntegerField, models.IntegerField: IntegerField,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment