在Piston Django中的一个处理程序中创建来自不同模型的对象

时间:2013-06-14 12:13:39

标签: python django handler django-piston

我正在使用Piston为Django中的应用程序创建API。

我会尝试以简单的方式解释我的疑问。 我们认为我有两个模型:

class Device(models.Model):
    id = models.TextField(...)

class Person(models.Model):
    name = models.TextField(...)
    device = models.ForeigKey(Device)

现在,如果我收到这样的网址:

(r'^api/(?P<person_name>\w+)/(?P<device_id>\w+)$',handler),

我想在数据库中添加一个人,为此,我需要向数据库添加一个新设备,但是,由于活塞中的处理程序链接到模型,如何将设备添加到数据库在同一个处理程序中?

我试过这样的事情:

class PersonHandler(BaseHandler):
    allowed_methods= ('PUT')
    model = Person

    def create(self, request, person_name, device_id):
        Device.objects.create(id=device_id)
        d = Device.objets.get(id=device_id)
        Person.objects.create(name=person_name,device=d)
        return rc.CREATED

但我猜它不起作用。

我该怎样做我想做的事?

0 个答案:

没有答案