現在、私はDjangoプロジェクトにAPIを実装していますが、Tastypieは最も適しているようです。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")
をし、このモデルの中に、私はこのような機能を持っている:私はtastypieを使用してAPIを介して公開したいと思います
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
。
私はドキュメントと料理本を見てきましたが、私が探しているものが見つからないようです。
任意の助けをいただければ幸いです:)
https://github.com/gati/tastypie-model-method –