当我用ndb的方法创建一个对象时,它会自动创建Key类型(kind,id),其中id是一个数字.在整个文档中,它显示您可以使用字符串作为密钥的id,但是在创建对象时我无法找到如何自动执行此操作.
我有一个用户模型,我正在考虑使用用户的用户名(因为它的唯一)作为密钥的ID,以便更快地检索.这是一个好主意吗?我是否会对用户名有任何问题,因为它是用户提交的(我正在验证输入)?
我有以下代码:
@task()
def handle_upload(title, temp_file, user_id):
.
.
.
photo.save()
#if i insert here "photo2 = Photo.objects.get(pk=photo.pk)" it works, including the view function
return photo.pk
#view function
def upload_status(request):
task_id = request.POST['task_id']
async_result = AsyncResult(task_id)
photo_id = async_result.get()
if async_result.successful():
photo = Photo.objects.get(pk=photo_id)
Run Code Online (Sandbox Code Playgroud)
我使用 ajax 请求来检查上传的文件,但在 celery 任务完成后,我得到一个照片匹配查询不存在。照片 pk 确实存在并被退回。如果我手动查询数据库,它就可以工作。这是某种数据库延迟吗?我该如何解决?我正在使用 Django 1.4 和 Celery 3.0
目前我在mydomain.com上有我的网络服务器,在static.mydomain.com和media.mydomain.com有两个CDN.
是否有可能在mydomain.com下拥有所有权限?例如
mydomain.com - 网络服务器
mydomain.com/static - 静态CDN
mydomain.com/media - 媒体CDN
amazon-ec2 amazon-web-services amazon-cloudfront amazon-route53