我目前正在实施的API为我的Django项目和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暴露。
我已经通过文档和菜谱看了,但我似乎无法找到我所期待的。
任何帮助,将不胜感激 :)