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之间是否存在关系,如何制作?
我正在为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)