diff options
| author | tom christie tom@tomchristie.com | 2011-01-30 18:30:39 +0000 |
|---|---|---|
| committer | tom christie tom@tomchristie.com | 2011-01-30 18:30:39 +0000 |
| commit | 42f2f9b40d1295e18a5b720b0d1f6ad85e928d8a (patch) | |
| tree | 458f97992bcd1348a413d21a5925f933ba7f74e3 /examples/simpleexample | |
| parent | 8a470f031eeccf45625c3e3e18a8743021b38d41 (diff) | |
| download | django-rest-framework-42f2f9b40d1295e18a5b720b0d1f6ad85e928d8a.tar.bz2 | |
Rename to django-rest-framework, get simpleexample working
Diffstat (limited to 'examples/simpleexample')
| -rw-r--r-- | examples/simpleexample/__init__.py | 0 | ||||
| -rw-r--r-- | examples/simpleexample/models.py | 23 | ||||
| -rw-r--r-- | examples/simpleexample/urls.py | 6 | ||||
| -rw-r--r-- | examples/simpleexample/views.py | 18 |
4 files changed, 47 insertions, 0 deletions
diff --git a/examples/simpleexample/__init__.py b/examples/simpleexample/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/examples/simpleexample/__init__.py diff --git a/examples/simpleexample/models.py b/examples/simpleexample/models.py new file mode 100644 index 00000000..13867f61 --- /dev/null +++ b/examples/simpleexample/models.py @@ -0,0 +1,23 @@ +from django.db import models + +MAX_INSTANCES = 20 + +class MyModel(models.Model): + foo = models.BooleanField() + bar = models.IntegerField(help_text='Must be an integer.') + baz = models.CharField(max_length=32, help_text='Free text. Max length 32 chars.') + created = models.DateTimeField(auto_now_add=True) + + class Meta: + ordering = ('created',) + + def save(self, *args, **kwargs): + """For the purposes of the sandbox, limit the maximum number of stored models.""" + while MyModel.objects.all().count() > MAX_INSTANCES: + MyModel.objects.all()[0].delete() + super(MyModel, self).save(*args, **kwargs) + + @models.permalink + def get_absolute_url(self): + return ('simpleexample.views.MyModelResource', (self.pk,)) + diff --git a/examples/simpleexample/urls.py b/examples/simpleexample/urls.py new file mode 100644 index 00000000..d853ba5a --- /dev/null +++ b/examples/simpleexample/urls.py @@ -0,0 +1,6 @@ +from django.conf.urls.defaults import patterns, url + +urlpatterns = patterns('simpleexample.views', + url(r'^$', 'MyModelRootResource'), + url(r'^([0-9]+)/$', 'MyModelResource'), +) diff --git a/examples/simpleexample/views.py b/examples/simpleexample/views.py new file mode 100644 index 00000000..1f113ac2 --- /dev/null +++ b/examples/simpleexample/views.py @@ -0,0 +1,18 @@ +from djangorestframework.modelresource import ModelResource, RootModelResource +from simpleexample.models import MyModel + +FIELDS = ('foo', 'bar', 'baz', 'absolute_url') + +class MyModelRootResource(RootModelResource): + """A create/list resource for MyModel. + Available for both authenticated and anonymous access for the purposes of the sandbox.""" + model = MyModel + allowed_methods = anon_allowed_methods = ('GET', 'POST') + fields = FIELDS + +class MyModelResource(ModelResource): + """A read/update/delete resource for MyModel. + Available for both authenticated and anonymous access for the purposes of the sandbox.""" + model = MyModel + allowed_methods = anon_allowed_methods = ('GET', 'PUT', 'DELETE') + fields = FIELDS |
