小编duc*_*ist的帖子

如何验证对象是否存在于manymanmany中

楷模

class Beer(models.Model):
    pass

class Salas(models.Model):
    name =  models.CharField(max_length=20)
    beers =     models.ManyToManyField('Beer', blank=True)
Run Code Online (Sandbox Code Playgroud)

视图

beer = Beer.objects.get(user=user)
id_sala = request.GET['id_sala']
sala = get_object_or_404(Salas, id=id_sala)


if beer.salas_set.filter(nombre=sala):
# if beer.objects.filter(sitios__id=beer).exists():
    sala.beers.remove(beer)

else:
    sala.beers.add(beer)
Run Code Online (Sandbox Code Playgroud)

我想看看啤酒与sala之间是否存在关系,如何制作?

django many-to-many

16
推荐指数
3
解决办法
2万
查看次数

带有Django的Google App Engine - InboundMailHandler似乎只运行一次

我正在为Google App Engine(使用Python和Django)编写一个应用程序,该应用程序需要接收电子邮件并将收到的电子邮件的一些元素添加到数据存储区.我是一个非常新手的程序员.

问题是我指定处理传入电子邮件的脚本似乎只运行一次(直到触摸脚本).

从本地管理控制台向"test@downloadtogo.appspotmail.com"发送测试电子邮件会导致实体正确添加到本地数据存储区.

发送第二个,第三个等测试电子邮件无效 - 未添加实体.

"触摸" handle_incoming_email.py(我理解为添加或删除空格然后保存),然后发送另一个测试电子邮件,将导致正确添加实体.

app.yaml中:

application: downloadtogo
version: 1
runtime: python
api_version: 1

handlers:
- url: /static
  static_dir: static

- url: /.*
  script: main.py

- url: /_ah/mail/.+
  script: handle_incoming_emaril.py
  login: admin

inbound_services:
- mail

handle_incoming_email.py:


from downloadtogo.models import Email

import logging, email
import wsgiref.handlers
import exceptions

from google.appengine.api import mail
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext.webapp.mail_handlers import InboundMailHandler

class MailHandler(InboundMailHandler):
  def receive(self, message):
    email = Email()
    email.from_address …
Run Code Online (Sandbox Code Playgroud)

python django google-app-engine

3
推荐指数
1
解决办法
564
查看次数

标签 统计

django ×2

google-app-engine ×1

many-to-many ×1

python ×1