私は現在、DjangoプロジェクトへのAPIの実装に取り組んでいますが、Tastypieが最も適しているようです。
私がうまくいかないように見えるのは、Tastypieを使用してモデル内の関数を公開する方法です。
たとえば、私はこのモデルを持っています:
class game(models.Model):
id = models.AutoField("ID", primary_key=True, editable=False)
ip_address = models.OneToOneField(IPAddress, verbose_name="IP Address")
port = models.CharField("Port", max_length=5)
name = models.CharField("Game Name", max_length=100)
ram = models.IntegerField("RAM (mb)", max_length=10)
node = models.ForeignKey(node)
user = models.ForeignKey(User)
config = models.ForeignKey(Config)
mysqlserver = models.ForeignKey(MySQLserver)
mysqlenabled = models.BooleanField("MySQL Created?")
suspended = models.BooleanField("Suspended")
そして、このモデル内には、次のような機能があります。
def start(self):
config = Config.objects.get(pk=self.config.id)
cmds = config.startcmds
game = config.gametype
parsedcmds = self.replace_variables(cmds)
client = phPanel.jelly.jelly.zmqclient(self.ip_address.address)
data = {'user':self.generate_username(), 'method':'start_server', 'id':self.id, 'memory':self.ram, 'ip':self.ip_address.address,
'port':self.port, 'startcmds':parsedcmds, 'game':game}
result = client.send(data)
return result
tastypieを使用してAPIを介して公開したいと思います。
ドキュメントとクックブックを調べましたが、探しているものが見つからないようです。
どんな助けもいただければ幸いです:)