Greetings,

I have a question on how to update an existing row in my database when one of 
the fields is my primary key. I am using ModelForm and Django-Piston - my main 
goal here is to have RESTful Post send to my webservice. I am able to have 
initial Posts be sent correctly (i.e. that Primary key value doesn't exist 
yet). The problem is when I want to update a value where the Primary key 
already exists -  f.is_valid() it fails because "this UniqueIdentifier already 
exists". How can I do form validation using ModelForms to update an existing 
row?

models.py:

from django.db import models
class DeviceModel(models.Model):
    uniqueIdentifier = models.CharField(primary_key=True, max_length=100)
    deviceToken = models.CharField(max_length=100)

forms.py

from django import forms
from models import DeviceModel
class DeviceModelForm(forms.ModelForm):
    class Meta:
        model = DeviceModel

handlers.py

class DeviceHandler(BaseHandler):
    allowed_methods = ('POST', 'GET', 'DELETE',)
    def create(self, request):
        f = DeviceModelForm(request.POST)
        if f.is_valid():
            new_object = f.save()
            return new_object
        return rc.BAD_REQUEST

urls.py

from django.conf.urls.defaults import *
from piston.resource import Resource
from api.handlers import DeviceHandler

device_handler = Resource(DeviceHandler)

urlpatterns = patterns('',
    (r'^api/$', device_handler, {'emitter_format': 'json'}),
)

--

You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=.


Reply via email to