Attualmente sto lavorando per implementare un'API nel mio progetto Django e Tastypie mi è sembrato più adatto.Esporre il metodo del modello con Tastypie
Quello che non riesco a capire è come esporre una funzione all'interno del mio modello usando Tastypie.
Ad esempio, ho questo modello:
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")
E all'interno di questo modello, che hanno funzioni come questa:
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
che desidero esporre attraverso l'API utilizzando tastypie.
Ho esaminato la documentazione e il ricettario ma non riesco a trovare quello che sto cercando.
Qualsiasi aiuto sarebbe apprezzato :)
Probabilmente vorrai dare un'occhiata a: https://github.com/gati/tastypie-model-method –