小编die*_*us9的帖子

如何在Django中获取ForeignKey字段而不是相关对象?

我有这个:

Class A(models.Model):
     name = models.CharField(max_length=50)

Class B(models.Model):
     a = models.ForeignKey(A)

class C(models.Model):
     a = models.ManyToManyField(A)
Run Code Online (Sandbox Code Playgroud)

当我需要以下a对象中的属性时C:

related_manager = getattr(object_c,'a') 
Run Code Online (Sandbox Code Playgroud)

这给了我一个ManyRelatedManager但问题是当我需要以下a对象中的属性时B:

object_b2 = getattr(object_b,'a')
Run Code Online (Sandbox Code Playgroud)

这给了我一个B类的对象,我需要知道如果是ForeignKey或ManyToManyField,我的意思是,我需要getattr(某事,'some_attribute')并得到模型.*不是自我中的对象.

django django-models

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

使用jdbc,tomcat,apache和mod-jk错误"没有合适的驱动程序"

我正在由软件提供商创建的amazon EC2中安装webapp.

环境详情:

  • 操作系统:ubuntu oneiric
  • java:oracle-java7-jre(取自Eugenesan的PPA)
  • tomcat:存储库tomcat7
  • apache:repository apache2
  • mod-jd:repository libapache2-mod-jk
  • mysql连接器:repository libmysql-java

我按照本教程使用apache2 + tomcat7 + mod-jk部署Web应用程序.

配置文件:

我将文件mysql-5.1.10.jar复制到/ myapp/WEB-INF/lib /usr/share/tomcat7/lib /usr/lib/jvm/java-7-oracle/jre/lib(这是位置) for oracle-java7-jre package)

但是当我去网站(dns很好)和任何链接上的clic我得到了这个错误:

ERR: Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'jdbc:mysql//planeador.c6qzkmwukf5s.us-east-1.rds.amazonaws.com:3306/planeador?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8'
Run Code Online (Sandbox Code Playgroud)

但是我检查了对数据库的访问并且很好.

有什么建议?这是我第一次安装tomcat和那些东西,请如果我错过了一些obvius部分告诉我.

谢谢

java tomcat jdbc apache2 mod-jk

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

Python中的动态导入

我该怎么做这个导入:

from module import *
Run Code Online (Sandbox Code Playgroud)

imp模块?

免责声明:

  • 我需要使用imp模块,因为我需要做几个语句,我想动态地做
  • 我需要使用,*因为我需要在我导入的文件中,定义的变量和方法module可以直接使用,我的意思是without module.methodmodule.variable.我想在模块中导入所有变量和方法,因为我不知道将来模块中可以有哪些方法或变量

python import module dynamic

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

如何检查django模型上的先前值

我有一个django模型,其中包含一个字段,我想在更新后总是比同一个模型实例中的前一个更大,如下所示:

class MyModel(models.Model):
    version = models.FloatField()
    prev_value = 0

    def clean(self):
        if self.version <= self.prev_value:
             raise ValidationError('error msg')

    def save(self,*args,**kwargs):
        super(MyModel, self).save(*args, **kwargs)
        self.prev_value = self.version
Run Code Online (Sandbox Code Playgroud)

我知道干净工作正常,因为我已经对同一个方法进行了其他验证,它工作正常,我做错了什么,我该如何解决?提前致谢.

我测试了它并且它没有在verion <prev_value的更新上抛出任何错误消息

编辑:即时通讯使用新的Django 1.4

django django-models validationerror django-1.4

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

如果python中的字典中至少有一个键存在,那么更好的方法是什么?

我需要检查dict中是否存在至少一个键列表,我的意思是,我有一个键列表:

keys = ['key1','key2','key3','key4','key5']
dict_ = {'key1': 1,'key2':2}
# I could do something like
if 'key1' in dict_ or 'key2' in dict_ or 'key3' in dict_:
    print True
Run Code Online (Sandbox Code Playgroud)

但我想知道是否存在一种更加pythonic的方式来做到这一点

python dictionary list

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

python中的正则表达式

我如何编写正则表达式来验证"正确的人名":

我对人名的定义(在这种情况下):我需要验证西班牙裔名字:像Maria,John,jon,Andrés这样的东西是有效的,但像'NNNNNatalia'这样的东西不会

我的意思是这是有效的:

  • 迭戈
  • 迭戈A.
  • Diego A. Sanabria

这是无效的:

  • 迭戈3
  • Diiiiiiiego
  • #$%自我

python regex

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