Django でアプリケーションの API を作成するために Piston を使用しています。
私の疑問を簡単な方法で説明しようと思います。2 つのモデルがあるとします。
class Device(models.Model):
id = models.TextField(...)
class Person(models.Model):
name = models.TextField(...)
device = models.ForeigKey(Device)
今、次のような URL を受け取った場合:
(r'^api/(?P<person_name>\w+)/(?P<device_id>\w+)$',handler),
DB に人を追加したいのですが、そのためには新しいデバイスを DB に追加する必要がありますが、Piston のハンドラーはモデルにリンクされているため、同じ方法でデバイスを DB に追加するにはどうすればよいですか?ハンドラ?
私はこのようなことを試しました:
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
でもきっとうまくいかない。
やりたいことはどうすればいいの?