我有以下型号:
class Group(models.Model):
member = models.ManyToManyField(Player, through='GroupMember')
name = models.CharField(max_length=20, unique=True)
join_password = models.CharField(max_length=20)
date_created = datetime.datetime.now()
def __unicode__(self):
return str(self.name)
class GroupMember(models.Model):
member = models.ForeignKey(Player)
group = models.ForeignKey(Group)
rating = models.IntegerField(default=1500)
played = models.IntegerField(default=0)
wins = models.IntegerField(default=0)
losses = models.IntegerField(default=0)
experience = models.IntegerField(default=0)
admin = models.BooleanField(default=0)
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,该组由成员组成.我想做的是给两个玩家我希望能够过滤包含这两个玩家的组,但我不确定如何进行这种类型的查询.
我希望我的Android应用程序能够将一些信息发送到我的django服务器.所以我让android应用程序发送一个帖子请求到mysite/upload页面,django的视图这个页面将根据帖子数据做工作.问题是服务器为post请求提出的响应抱怨csrf验证失败.看看问题,似乎我可能必须首先从服务器获取一个csrf令牌,然后使用该令牌执行帖子但是我不确定我是如何做到的.编辑:我发现我可以使用视图装饰器@csrf_exempt来解决此视图的crsf验证,但我不确定这是否是最佳解决方案.我的android代码:
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(URL);
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("scoreone", scoreone));
nameValuePairs.add(new BasicNameValuePair("scoretwo", scoretwo));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
System.out.println("huzahhhhhhh");
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
String result = …Run Code Online (Sandbox Code Playgroud)