标签: instances

无法通过模型实例访问管理器

我正试图在另一个中获取模型对象实例.我提出这个错误:

 Manager isn't accessible via topic instance
Run Code Online (Sandbox Code Playgroud)

这是我的模特:

class forum(models.Model):
    # Some attributs

class topic(models.Model):
    # Some attributs

class post(models.Model):
    # Some attributs

    def delete(self):
        forum = self.topic.forum
        super(post, self).delete()
        forum.topic_count = topic.objects.filter(forum = forum).count()
Run Code Online (Sandbox Code Playgroud)

这是我的观点:

def test(request, post_id):
    post = topic.objects.get(id = int(topic_id))
    post.delete()
Run Code Online (Sandbox Code Playgroud)

我得到:

post.delete()
forum.topic_count = topic.objects.filter(forum = forum).count()
Manager isn't accessible via topic instances
Run Code Online (Sandbox Code Playgroud)

django django-models django-managers instances

70
推荐指数
4
解决办法
5万
查看次数

为什么不能在python中向对象添加属性?

(用Python shell编写)

>>> o = object()
>>> o.test = 1

Traceback (most recent call last):
  File "<pyshell#45>", line 1, in <module>
    o.test = 1
AttributeError: 'object' object has no attribute 'test'
>>> class test1:
    pass

>>> t = test1()
>>> t.test

Traceback (most recent call last):
  File "<pyshell#50>", line 1, in <module>
    t.test
AttributeError: test1 instance has no attribute 'test'
>>> t.test = 1
>>> t.test
1
>>> class test2(object):
    pass

>>> t = test2()
>>> t.test = 1
>>> …
Run Code Online (Sandbox Code Playgroud)

python attributes instances

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

在Amazon EC2上,竞价型实例价格是否会高于按需价格?

现货价格通常远低于EC2服务器的正常按需价格,但价格差异很大.现货价格是否高于按需价格?

如果没有,总是使用最高出价等于普通按需服务器的现货实例是否有意义?这样,现货实例理论上会永远持续下去(因为现货价格永远不会超过最高出价)并且会为您节省大量资金.每个人都已经这样做了吗?

cloud amazon-ec2 instances amazon-web-services

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

删除所有实例后,Django模型实例主键不会重置为1

我一直在研究我的Django Web应用程序的离线版本,并经常删除某个ModelX的模型实例.

我是从管理页面完成此操作并且没有遇到任何问题.该模型只有两个字段:名称和顺序,与其他模型没有其他关系.

新实例被赋予下一个可用的pk,当我删除所有实例时,添加一个新实例会产生pk = 1,这是我所期望的.

将代码在线移动到我的实际数据库我注意到情况并非如此.我需要更改模型实例,所以我删除了它们,但令我惊讶的是,主键不断增加而不重置为1.

使用我检查过的Django API进入数据库并且旧实例已经消失,但是即使添加新实例也会产生一个主键,它可以在最后一个被删除的实例停止的地方找到,而不是1.

想知道是否有人知道这里可能存在什么问题.

django primary-key models instances

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

JavaScript创建对象的新实例

所以我正在设计一个成绩簿界面,我的课程定义为:

<script>
course = new Object();
 var name;
 var gradingareas;
 var finalgrade;
</script>
Run Code Online (Sandbox Code Playgroud)

然后我想创建一个新实例:

 var gradingareas = new Array("Homework", "Classwork", "Exams");

 course1 = new course("CS1500", gradingareas, 85);
Run Code Online (Sandbox Code Playgroud)

我也试过没有前面的var无济于事.我得到一个"未捕获的TypeError:对象不是一个函数"我是一个非常新的JavaScript,所以我甚至不知道我是否正确的方式.任何帮助表示赞赏谢谢.

javascript object instances

20
推荐指数
2
解决办法
8万
查看次数

如何跟踪类实例?

在程序结束时,我希望将类的所有实例中的特定变量加载到字典中.

例如:

class Foo():
    __init__(self):
    x = {}

foo1 = Foo()
foo2 = Foo()
foo...etc.
Run Code Online (Sandbox Code Playgroud)

假设实例的数量会有所不同,我希望每个Foo()实例的x dict都加载到一个新的dict中.我该怎么办?

我在SO中看到的例子假设一个已经有实例列表.

python dictionary class self instances

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

使用boto从AWS实例获取标记

我正在尝试使用Python的boto库从我的AWS账户中的实例获取标签.

虽然此代码段可以正常使用所有代码:

    tags = e.get_all_tags()
    for tag in tags:
        print tag.name, tag.value
Run Code Online (Sandbox Code Playgroud)

(e是EC2连接)

当我从各个实例请求标签时,

    print vm.__dict__['tags']
Run Code Online (Sandbox Code Playgroud)

要么

    print vm.tags
Run Code Online (Sandbox Code Playgroud)

我得到一个空列表(vm实际上是一个实例类).

以下代码:

    vm.__dict__['tags']['Name']
Run Code Online (Sandbox Code Playgroud)

当然导致:

KeyError: 'Name'
Run Code Online (Sandbox Code Playgroud)

我的代码一直工作到昨天,突然间我无法从实例中获取标签.

有人知道AWS API是否存在问题?

python instances boto amazon-web-services

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

面向对象的语言没有类概念

我正在阅读Scala论文的介绍,并发现以下声明:

应该注意的是,一些面向对象的语言没有类的概念.

问题:哪些面向对象的语言没有类概念,它们如何处理类型(类) - 对象(类型实例)关系?

oop types programming-languages class instances

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

Objective-C:从类引用创建实例

您可以使用以下代码创建类引用:

Class M = [NSMutableString class]; // NSMutableString (for example).
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用以下代码调用该已保存类的方法:

[M string];
Run Code Online (Sandbox Code Playgroud)

但是你可以从该类名创建实例(我知道以下不起作用)?

M *newInstance;
Run Code Online (Sandbox Code Playgroud)

theory oop class objective-c instances

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

为什么Python在实例创建时调用实例方法__init __()而不是调用类提供的__init __()?

我正在覆盖__new__()类的方法以返回具有特定__init__()集合的类实例.Python似乎调用类提供的__init__()方法而不是特定于实例的方法,尽管Python文档在

http://docs.python.org/reference/datamodel.html

说:

典型的实现通过使用带有适当参数的super(currentclass,cls).__ new __(cls [,...])调用超类的__new __()方法创建类的新实例,然后在返回之前根据需要修改新创建的实例它.

如果__new __()返回一个cls实例,那么新实例的__init __()方法将被调用,如__init __(self [,...]),其中self是新实例,其余参数与传递给的相同. __新__().

这是我的测试代码:

#!/usr/bin/env python

import new

def myinit(self, *args, **kwargs):
    print "myinit called, args = %s, kwargs = %s" % (args, kwargs)


class myclass(object):
    def __new__(cls, *args, **kwargs):
        ret = object.__new__(cls)

        ret.__init__ = new.instancemethod(myinit, ret, cls)
        return ret

    def __init__(self, *args, **kwargs):
        print "myclass.__init__ called, self.__init__ is %s" % self.__init__
        self.__init__(*args, **kwargs)

a = myclass()
Run Code Online (Sandbox Code Playgroud)

哪个输出

$ python --version
Python 2.6.6 …
Run Code Online (Sandbox Code Playgroud)

python methods object instances

12
推荐指数
2
解决办法
1002
查看次数