草庐IT

python - 使用第二个模型的外键时未定义模型

我正在尝试在某些模型(例如用户和国家/地区)之间创建多种关系。当我尝试syncdb时,我的控制台输出“NameCountryisnotdefined”。代码如下:classUser(models.Model):name=models.CharField(max_length=50,null=False)email=models.EmailField(max_length=50,null=False)password=models.CharField(max_length=10,null=False)country=models.ForeignKey(Country,null=False

python - 定义没有外键的关系

如何在没有外键的情况下建立关系?@declared_attrdefcustom_stuff(cls):joinstr='foreign(Custom.name)=="{name}"'.format(name=cls.__name__)returndb.relationship('Custom',primaryjoin=joinstr)这引发了一个错误:ArgumentError:无法找到任何简单的相等表达式,涉及主要连接条件的本地映射外键列这行得通,但我认为这是一个非常丑陋的hack。@declared_attrdefcustom_stuff(cls):joinstr='or_(and

python - Django Admin 中的通用关系/通用外键

我一直在尝试在Django管理中显示GenericForeignKey但无法正常工作。我有一个FullCitation类,它可以链接到NonSupportedProgram或SupportedProgram类。所以,我使用了一个通用的外键。在管理员中,我希望用户只能从content_type下拉列表中选择'NonSupportedProgram'或'SupportedProgram',然后,在object_id字段中,我需要用户能够从列出现有NonSuportedProgram或现有SupportedProgram的下拉列表中进行选择,其中创建一个新的选项。这可能吗?我哪里错了?模型.

python - 在 SQLAlchemy 中插入带有外键的对象的正确方法是什么?

当使用SQLAlchemy时,将一个对象插入到一个列是外键的表中然后提交它的理想方法是什么?在下面的代码中插入带有外来对象的对象有什么问题吗?defretrieve_objects():session=DBSession()returnsession.query(SomeClass).all()definsert_objects():session=DBSession()forobjinretrieve_objects():another_obj=AnotherClass(somefield=0)obj.someforeignkey=another_objsession.add(obj

python - SQLAlchemy 加入复合外键(使用 flask-sqlalchemy)

我试图了解如何在SQLAlchemy上使用复合外键进行连接,但我的尝试失败了。我的玩具模型上有以下模型类(我使用的是Flask-SQLAlchemy,但我不确定这与问题有什么关系):#coding=utf-8fromflaskimportFlaskfromflask.ext.sqlalchemyimportSQLAlchemyapp=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='sqlite:////tmp/test.db'db=SQLAlchemy(app)classAsset(db.Model):__tablename_

python - 在 Django 中使用抽象多重继承时外键冲突

我正在尝试建立一个Django模型作为其他模型的基类。Base模型有两个指向同一类(TestForeign)的其他对象的ForeignKey字段。我可以使用多表继承让模型工作,但我想使用抽象模型继承,因为我读过有一些performanceissueswhenusingmultitableinheritance.以下示例在我使用多表继承(abstract=False)时有效,但在我使用抽象继承运行时失败。classTestForeign(models.Model):test=models.CharField(max_length=100)classBaseModel(models.Mod

python - 在 Django 管理更改/添加页面中显示外键数据

我试图让一个模型的属性显示在另一个模型的Django管理更改/添加页面中。这是我的模型:classDownload(model.Model):task=models.ForeignKey('Task')classTask(model.Model):added_at=models.DateTimeField(...)不能切换外键,所以我不能使用内联,当然fields=('task__added_at',)在这里也不起作用。处理此类问题的标准方法是什么?(或者我是否将Admin扩展得太远了?)我已经在使用自定义模板,所以如果这是可以完成的答案。但是,我更愿意在管理员级别执行此操作。

python - 可为空的外键并删除引用的模型实例

我有一个ForeignKey,它在我的模型中可以为空,以模拟模型之间的松散耦合。它看起来有点像:classMessage(models.Model):sender=models.ForeignKey(User,null=True,blank=True)sender_name=models.CharField(max_length=255)保存时,发件人姓名会写入sender_name属性。现在,我希望能够删除发件人引用的User实例并保留消息。开箱即用,一旦我删除了用户实例,此代码总是会导致消息被删除。所以我认为信号处理程序是个好主意。defmy_signal_handler(send

python - 在 Django 中选择具有外键的对象的子对象?

我是Django的全新,所以这个问题的答案可能非常简单。但是,我无法弄清楚。假设我有两个基本模型。classBlog(models.Model):title=models.CharField(max_length=160)text=models.TextField()classComment(models.Model):blog=models.ForeignKey(Blog)text=models.TextField()在Python/Djangoshell中,如果我在变量中有一个Blog对象(比如blog=Blog.objects.get(id=3)),我该如何选择它的所有子评论?这

python - Django:通过外键查找所有反向引用

好吧,现在我正在使用Django1.6+我有一个模型:classFileReference(models.Model):#somedatafields#...passclassPerson(models.Model):avatar=models.ForeignKey(FileReference,related_name='people_with_avatar')classHouse(models.Model):images=models.ManyToManyField(FileReference,related_name='houses_with_images')classDocume