从Django文档… 当你只处理简单的多对多关系时,比如混合和匹配比萨饼和浇头,一个标准的ManyToManyField就是你所需要的。 但是,有时您可能需要将数据与两个模型之间的关系相关联。 例如,考虑跟踪音乐家所属的音乐组的应用的情况。 一个人和他们所属的小组之间有多对多的关系,所以你可以使用ManyToManyField来表示这种关系。 但是,关于您可能想要收集的会员资格有很多详细信息,例如join该组的人员的date。 对于这些情况,Django允许您指定将用于pipe理多对多关系的模型。 然后可以在中间模型上添加额外的字段。 中间模型使用through参数与ManyToManyField关联,指向将作为中介的模型。 对于我们音乐家的例子,代码看起来像这样: class Person(models.Model): name = models.CharField(max_length=128) def __unicode__(self): return self.name class Group(models.Model): name = models.CharField(max_length=128) members = models.ManyToManyField(Person, through='Membership') def __unicode__(self): return self.name class Membership(models.Model): person = models.ForeignKey(Person) group = models.ForeignKey(Group) date_joined = models.DateField() invite_reason = models.CharField(max_length=64) 现在您已经设置了ManyToManyField来使用您的中介模型(在这种情况下为Membership),您可以开始创build一些多对多的关系。 您可以通过创build中间模型的实例来执行此操作: ringo = Person.objects.create(name="Ringo Starr") paul = Person.objects.create(name="Paul […]
我试图嘲笑一些东西,而使用富有想象力的模拟testing库来testing一个Django应用程序。 我似乎无法完成它的工作,我试图这样做: models.py from somelib import FooClass class Promotion(models.Model): foo = models.ForeignKey(FooClass) def bar(self): print "Do something I don't want!" test.py class ViewsDoSomething(TestCase): view = 'my_app.views.do_something' def test_enter_promotion(self): @patch.object(my_app.models.FooClass, 'bar') def fake_bar(self, mock_my_method): print "Do something I want!" return True self.client.get(reverse(view)) 我究竟做错了什么?
我试图预测使用ARMA ARIMA模型的每周销售量。 我无法find调整statsmodels的顺序(p,d,q)的statsmodels 。 目前R有一个函数auto.arima() ,它将调整(p,d,q)参数。 我如何去为我的模型select正确的顺序? Python中有没有用于此目的的库?
在numpy中,我有两个“数组”,X是(m,n),y是一个向量(n,1) 运用 X*y # or, even np.dot(X,y) 我收到错误 ValueError: operands could not be broadcast together with shapes (97,2) (2,1) 当(97,2)x(2,1)显然是一个合法的matrix运算,应该给我一个(97,1)向量 编辑: 我已经使用X.dot(y)更正了这个问题,但原来的问题仍然存在。
定义一个无参数的exception: class myException(Exception): pass 当提出时,有什么区别: raise myException 和 raise myException() 尝试时,我可以find没有 – 它只是一个重载语法?
我正在教一个关于面向对象编程的Python类,当我正在研究如何解释类时,我看到一个空的类定义: class Employee: pass 这个例子继续为这个类的一个对象定义一个名称和其他属性: john = Employee() john.full_name = "john doe" 有趣! 我想知道是否有办法为这样的类dynamic定义一个函数? 就像是: john.greet() = print 'hello world!' 这在我的python解释器不起作用,但有没有另一种方法呢?
使用py.test,在不同目录中调用相同的两个testing会导致py.test失败。 这是为什么? 我怎样才能改变这个不重命名所有的testing? 重复做: ; cd /var/tmp/my_test_module ; mkdir -p ook/test ; mkdir -p eek/test ; touch ook/test/test_proxy.py ; touch eek/test/test_proxy.py ; py.test ============================= test session starts ============================== platform linux2 — Python 2.7.3 — pytest-2.2.4 collected 0 items / 1 errors ==================================== ERRORS ==================================== ___________________ ERROR collecting ook/test/test_proxy.py ____________________ import file mismatch: imported module 'test_proxy' […]
我目前正在python项目中工作,我想利用GPU进行一些计算。 乍一看,似乎有很多工具可用; 乍一看,我觉得我想失去一些东西。 Copperhead看起来很棒,但还没有发布。 这似乎只限于编写低级CUDA或openCL内核; 没有推力,没有cudpp。 如果编号喜欢有东西sorting,即时将不得不自己做。 这对我来说似乎不太合适。 我确实错过了什么? 或者,这个GPU脚本不太适合炒作吗? 编辑:GPULIB似乎可能是我所需要的。 文档是最基本的,python绑定只是在传递,但现在正在申请下载链接。 任何人都有这方面的经验,或链接到类似的免费学术使用的GPU库? 重新编辑:好吧,python绑定事实上是不存在的。 Edit2:所以我想我最好的select是用C / CUDA编写一些东西,并从python中调用它。
一切都在标题中。 有没有“Pythonic”方法(我的意思是,没有“纯SQL”查询)来定义SQL视图与SQLAlchemy? 谢谢你的帮助,
我想了解Python是如何工作的(因为我一直都在使用它)。 据我了解,当你运行python script.py这样的脚本时,脚本被转换为字节码,然后解释器/ VM / CPython – 实际上只是一个C程序 – 读取python字节码并相应地执行程序。 这个字节码是如何读入的? 这与C中的文本文件是如何相似的? 我不确定Python代码是如何转换为机器码的。 Python解释器(CLI中的python命令)是否真的只是一个预编译的C程序,它已经被转换为机器码,然后python字节码文件只是通过该程序? 换句话说,我的Python程序是不是真正转换成机器代码? python解释器是否已经在机器代码中,所以我的脚本从来没有?