Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
9ae0ca1c
Commit
9ae0ca1c
authored
Dec 03, 2012
by
Michal Dvorak (cen38289)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#467 Added label and help_text to Field
parent
3e3ede71
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
10 deletions
+19
-10
rest_framework/fields.py
+13
-10
rest_framework/serializers.py
+6
-0
No files found.
rest_framework/fields.py
View file @
9ae0ca1c
...
@@ -28,7 +28,7 @@ def is_simple_callable(obj):
...
@@ -28,7 +28,7 @@ def is_simple_callable(obj):
return
(
return
(
(
inspect
.
isfunction
(
obj
)
and
not
inspect
.
getargspec
(
obj
)[
0
])
or
(
inspect
.
isfunction
(
obj
)
and
not
inspect
.
getargspec
(
obj
)[
0
])
or
(
inspect
.
ismethod
(
obj
)
and
len
(
inspect
.
getargspec
(
obj
)[
0
])
<=
1
)
(
inspect
.
ismethod
(
obj
)
and
len
(
inspect
.
getargspec
(
obj
)[
0
])
<=
1
)
)
)
class
Field
(
object
):
class
Field
(
object
):
...
@@ -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'
)
...
@@ -222,9 +225,9 @@ class ModelField(WritableField):
...
@@ -222,9 +225,9 @@ class ModelField(WritableField):
raise
ValueError
(
"ModelField requires 'model_field' kwarg"
)
raise
ValueError
(
"ModelField requires 'model_field' kwarg"
)
self
.
min_length
=
kwargs
.
pop
(
'min_length'
,
self
.
min_length
=
kwargs
.
pop
(
'min_length'
,
getattr
(
self
.
model_field
,
'min_length'
,
None
))
getattr
(
self
.
model_field
,
'min_length'
,
None
))
self
.
max_length
=
kwargs
.
pop
(
'max_length'
,
self
.
max_length
=
kwargs
.
pop
(
'max_length'
,
getattr
(
self
.
model_field
,
'max_length'
,
None
))
getattr
(
self
.
model_field
,
'max_length'
,
None
))
super
(
ModelField
,
self
)
.
__init__
(
*
args
,
**
kwargs
)
super
(
ModelField
,
self
)
.
__init__
(
*
args
,
**
kwargs
)
...
@@ -434,7 +437,7 @@ class PrimaryKeyRelatedField(RelatedField):
...
@@ -434,7 +437,7 @@ class PrimaryKeyRelatedField(RelatedField):
# RelatedObject (reverse relationship)
# RelatedObject (reverse relationship)
obj
=
getattr
(
obj
,
self
.
source
or
field_name
)
obj
=
getattr
(
obj
,
self
.
source
or
field_name
)
return
self
.
to_native
(
obj
.
pk
)
return
self
.
to_native
(
obj
.
pk
)
# Forward relationship
# Forward relationship
return
self
.
to_native
(
pk
)
return
self
.
to_native
(
pk
)
...
@@ -469,7 +472,7 @@ class ManyPrimaryKeyRelatedField(ManyRelatedField):
...
@@ -469,7 +472,7 @@ class ManyPrimaryKeyRelatedField(ManyRelatedField):
# RelatedManager (reverse relationship)
# RelatedManager (reverse relationship)
queryset
=
getattr
(
obj
,
self
.
source
or
field_name
)
queryset
=
getattr
(
obj
,
self
.
source
or
field_name
)
return
[
self
.
to_native
(
item
.
pk
)
for
item
in
queryset
.
all
()]
return
[
self
.
to_native
(
item
.
pk
)
for
item
in
queryset
.
all
()]
# Forward relationship
# Forward relationship
return
[
self
.
to_native
(
item
.
pk
)
for
item
in
queryset
.
all
()]
return
[
self
.
to_native
(
item
.
pk
)
for
item
in
queryset
.
all
()]
def
from_native
(
self
,
data
):
def
from_native
(
self
,
data
):
...
@@ -913,7 +916,7 @@ class DateTimeField(WritableField):
...
@@ -913,7 +916,7 @@ class DateTimeField(WritableField):
# call stack.
# call stack.
warnings
.
warn
(
u"DateTimeField received a naive datetime (
%
s)"
warnings
.
warn
(
u"DateTimeField received a naive datetime (
%
s)"
u" while time zone support is active."
%
value
,
u" while time zone support is active."
%
value
,
RuntimeWarning
)
RuntimeWarning
)
default_timezone
=
timezone
.
get_default_timezone
()
default_timezone
=
timezone
.
get_default_timezone
()
value
=
timezone
.
make_aware
(
value
,
default_timezone
)
value
=
timezone
.
make_aware
(
value
,
default_timezone
)
return
value
return
value
...
...
rest_framework/serializers.py
View file @
9ae0ca1c
...
@@ -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
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment