我正在使用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
但我猜它不起作用。
我该怎样做我想做的事?