我正在为 App.net 创建一个 iOS 客户端,并且正在尝试设置一个推送通知服务器。目前,我的应用程序可以将用户的 App.net 帐户 ID(一串数字)和 APNS 设备令牌添加到我服务器上的 MySQL 数据库中。它还可以删除这些数据。我改编了这两个教程中的代码:
- 如何为 iOS 应用程序编写简单的 PHP/MySQL Web 服务 - raywenderlich.com
- iOS 6 教程中的 Apple 推送通知服务:第 1/2 部分 - raywenderlich.com
此外,我已经修改了这个很棒的 python 脚本来监听 App.net 的 App Stream API。
我的 python 太可怕了,我的 MySQL 知识也是如此。我要做的是访问我需要通知的帐户的 APNS 设备令牌。我的数据库表的每个条目都有两个字段/列,一个用于 user_id,一个用于 device_token。我不确定术语,如果我能澄清这一点,请告诉我。
我一直在尝试使用peewee从数据库中读取数据,但我有点不知所措。这是一个带有占位符的测试脚本user_id
:
import logging
from pprint import pprint
import peewee
from peewee import *
db = peewee.MySQLDatabase("...", host="localhost", user="...", passwd="...")
class MySQLModel(peewee.Model):
class Meta:
database = db
class Active_Users(MySQLModel):
user_id = peewee.CharField(primary_key=True)
device_token = peewee.CharField()
db.connect()
# This is the placeholder user_id
userID = '1234'
token = Active_Users.select().where(Active_Users.user_id == userID)
pprint(token)
然后打印出来:
<class '__main__.User'> SELECT t1.`id`, t1.`user_id`, t1.`device_token` FROM `user` AS t1 WHERE (t1.`user_id` = %s) [u'1234']
如果代码没有说清楚,我正在尝试使用 of 查询数据库中的行,user_id
并且1234
我想将device_token
同一行的行(同样,可能是错误的术语)存储到一个变量中,我可以当我稍后在脚本中发送推送通知时使用。
如何正确返回 device_token?此外,放弃 peewee 并简单地使用 python-mysqldb 查询数据库会更容易吗?如果是这样的话,我将如何去做呢?