我正在使用 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
但我想这行不通。
我怎样才能做我想做的事?