小编Sco*_*ott的帖子

无法比较天真和意识到datetime.now()<= challenge.datetime_end

我试图使用比较运算符将当前日期和时间与模型中指定的日期和时间进行比较:

if challenge.datetime_start <= datetime.now() <= challenge.datetime_end:
Run Code Online (Sandbox Code Playgroud)

脚本错误出现:

TypeError: can't compare offset-naive and offset-aware datetimes
Run Code Online (Sandbox Code Playgroud)

模型看起来像这样:

class Fundraising_Challenge(models.Model):
    name = models.CharField(max_length=100)
    datetime_start = models.DateTimeField()
    datetime_end = models.DateTimeField()
Run Code Online (Sandbox Code Playgroud)

我也有使用语言环境日期和时间的django.

我无法找到的是django用于DateTimeField()的格式.是天真还是意识到?如何让datetime.now()识别区域设置日期时间?

python django comparison datetime

119
推荐指数
6
解决办法
12万
查看次数

'str'对象没有属性'_meta'

def participant_specific(request, participant):
    helper = RelayFunctions()
    info = helper.participant_specific_donation(participant)
    info1 = helper.participant_specific_milestone(participant)

    data = { 'participant_specific_donation' : info , 'participant_specific_milestone' : info1 }
    json_serializer = serializers.get_serializer("json")()
    response = json_serializer.serialize(data, ensure_ascii=False)
    return HttpResponse(response, mimetype="application/json") 

Traceback:
 File "/home/vtrelayc/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
   111.                         response = callback(request, *callback_args, **callback_kwargs)
 File "/home/vtrelayc/projects/relay/relayapp/views.py" in participant_specific
   192.     response = json_serializer.serialize(data, ensure_ascii=False)
 File "/home/vtrelayc/lib/python2.6/site-packages/django/core/serializers/base.py" in serialize
   46.             concrete_model = obj._meta.concrete_model

 Exception Type: AttributeError at /participants/specific/1/
 Exception Value: 'str' object has no attribute '_meta'
Run Code Online (Sandbox Code Playgroud)

错误:'str'对象没有属性'_meta'

我们试图解析字典,但它说它是一个字符串?是因为一个字典中有多个对象吗?

python

9
推荐指数
2
解决办法
1万
查看次数

Pandas 多索引数据帧到 Numpy Ndarray

我正在尝试将多索引熊猫DataFrame转换为numpy.ndarray. 数据框如下:

               s1  s2   s3   s4
Action State                   
1      s1     0.0   0  0.8  0.2
       s2     0.1   0  0.9  0.0
2      s1     0.0   0  0.9  0.1
       s2     0.0   0  1.0  0.0
Run Code Online (Sandbox Code Playgroud)

我希望结果numpy.ndarray如下np.shape() = (2,2,4)

[[[ 0.0  0.0  0.8  0.2 ]
  [ 0.1  0.0  0.9  0.0 ]]

 [[ 0.0  0.0  0.9  0.1 ]
  [ 0.0  0.0  1.0  0.0]]]
Run Code Online (Sandbox Code Playgroud)

我试过了,df.as_matrix()但这会返回:

 [[ 0.   0.   0.8  0.2]
  [ 0.1  0.   0.9  0. ]
  [ 0. …
Run Code Online (Sandbox Code Playgroud)

python numpy multi-index pandas

4
推荐指数
1
解决办法
3175
查看次数

一个实例属性引用另一个,在类实例化后更新

我正在寻找在类被实例化后设置引用另一个实例属性的实例属性的最佳实践。

例如:

class Foo:
    def __init__(self):
        self.a = 1
        self.b = self.a + 1
Run Code Online (Sandbox Code Playgroud)
>>> obj_foo = Foo()
>>> obj_foo.a
1
>>> obj_foo.b
2
>>> obj_foo.a = 5
>>> obj_foo.a
5
>>> obj_foo.b
2 # I want this to be 6
Run Code Online (Sandbox Code Playgroud)

一个实例属性引用另一个实例属性是不好的做法吗?

我可以看到如何实现一种方法来检查和更新依赖的实例属性,但这似乎有很多开销/hacky。非常感谢任何帮助!

python class instance-variables

2
推荐指数
1
解决办法
32
查看次数

将实例变量重新分配给本地方法变量

我已经多次看到过,其中实例变量(例如obj_fooobj_bar)被重新赋值为本地方法变量(例如,在内call):

class Example:
    def __init__(self, obj_foo, obj_bar):
        self.obj_foo = obj_foo
        self.obj_bar = obj_bar

    def call(self):
        obj_foo, obj_bar = self.obj_foo, self.obj_bar

        obj_foo.do_something()
        obj_bar.do_something_else()
Run Code Online (Sandbox Code Playgroud)

我不确定这是否符合惯例(易于阅读)或是否有更重要的目的?

这是不好的做法吗?

这会影响性能吗?

python namespaces class

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