我创建了一个带有ImageField的简单模型,我想用django-rest-framework + django-rest-swagger创建一个api视图,该文档已记录并能够上传文件.
这是我得到的:
models.py
from django.utils import timezone
from django.db import models
class MyModel(models.Model):
source = models.ImageField(upload_to=u'/photos')
is_active = models.BooleanField(default=False)
created_at = models.DateTimeField(default=timezone.now)
def __unicode__(self):
return u"photo {0}".format(self.source.url)
Run Code Online (Sandbox Code Playgroud)
serializer.py
from .models import MyModel
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = [
'id',
'source',
'created_at',
]
Run Code Online (Sandbox Code Playgroud)
views.py
from rest_framework import generics
from .serializer import MyModelSerializer
class MyModelView(generics.CreateAPIView):
serializer_class = MyModelSerializer
parser_classes = (FileUploadParser, )
def post(self, *args, **kwargs):
"""
Create a MyModel
---
parameters:
- name: source
description: …Run Code Online (Sandbox Code Playgroud) TL; DR;
如何转换2016-01-01为django timezone??
完整版本
我从表单中收到一个查询字符串参数,我想得到该字符串并将其用作Django中的日期时间过滤器.问题是,当我将字符串转换为日期时间时,它不会识别日期时间,因此由于时区不同而丢失了几个小时.也许我在格式化中迷失自己,但我无法做到.
我有pytz,我也有USE_TZ = True我的设置.
例:
from datetime import date
# Example from what I receive as GET querystring parameter
start_date, end_date = '15-01-2016', '16-01-2016'
DATE_FORMAT = '%Y-%m-%d'
start_date = start_date.split('-')
start_date = date(int(start_date[2]), int(start_date[1]), int(start_date[0]))
sd_filter = start_date.strftime(DATE_FORMAT)
end_date = end_date.split('-')
end_date = date(int(end_date[2]), int(end_date[1]), int(end_date[0]))
ed_filter = end_date.strftime(DATE_FORMAT)
#query
my_list = MyModel.objects.filter(created_at__range=(sd_filter, ed_filter))
Run Code Online (Sandbox Code Playgroud)
问题在于过滤器..由于djanto设置的时区,我失去了几个小时.
UPDATE1:我不需要将a转换datetime.now()为我的时间..我需要将字符串转换为datetime ..
有人帮忙吗?
提前致谢
我正在使用混音器来生成我的模型并使用pytest运行它们.我想做的只是生成我的模型一次,并使用我生成的相同模型运行多个测试.
这就是我想要的:
码
import pytest
from mixer.backend.django import mixer
from weddings.models import Wedding
@pytest.mark.django_db
class TestProductApi(object):
@pytest.fixture(scope="module")
def wedding(self):
wedding = mixer.blend(
'weddings.Wedding',
)
mixer.cycle(12).blend(
'weddings.Product',
wedding=wedding,
)
mixer.cycle(4).blend(
'weddings.Product',
wedding=wedding,
is_visible=False,
)
mixer.blend(
'weddings.Product',
wedding=wedding,
is_active=False,
)
return wedding
def test_number_one(self, wedding):
print 'running test_number_one'
print 'wedding.id == {}'.format(wedding.id)
print 'Wedding.objects.all().count() == {}'.format(Wedding.objects.all().count())
print 'finished test_number_one'
def test_number_two(self, wedding):
print 'running test_number_two'
print 'wedding.id == {}'.format(wedding.id)
print 'Wedding.objects.all().count() == {}'.format(Wedding.objects.all().count())
print 'finished test_number_two'
Run Code Online (Sandbox Code Playgroud)
产量
tests/weddings/api/test_products.pyTestProductApi.test_number_one 0% running test_number_one
wedding.id …Run Code Online (Sandbox Code Playgroud)