Dan*_*cia 2 django postgresql django-models django-views
这是视图表的模型.
class QryDescChar(models.Model):
iid_id = models.IntegerField()
cid_id = models.IntegerField()
cs = models.CharField(max_length=10)
cid = models.IntegerField()
charname = models.CharField(max_length=50)
class Meta:
db_table = u'qry_desc_char'
Run Code Online (Sandbox Code Playgroud)
这是我用来创建表的SQL
CREATE VIEW qry_desc_char as
SELECT
tbl_desc.iid_id,
tbl_desc.cid_id,
tbl_desc.cs,
tbl_char.cid,
tbl_char.charname
FROM tbl_desC,tbl_char
WHERE tbl_desc.cid_id = tbl_char.cid;
Run Code Online (Sandbox Code Playgroud)
我不知道我是否需要模型或视图中的功能或两者兼而有之.我想从该数据库中获取一个对象列表来显示它.这可能很简单,但是在Django和python中我是新手,所以我遇到了一些问题
Django 1.1带来了一个你可能觉得有用的新功能.你应该可以这样做:
class QryDescChar(models.Model):
iid_id = models.IntegerField()
cid_id = models.IntegerField()
cs = models.CharField(max_length=10)
cid = models.IntegerField()
charname = models.CharField(max_length=50)
class Meta:
db_table = u'qry_desc_char'
managed = False
Run Code Online (Sandbox Code Playgroud)
托管Meta类选项的文档在这里.相关报价:
如果为False,则不会对此模型执行数据库表创建或删除操作.如果模型表示通过其他方式创建的现有表或数据库视图,则此选项非常有用.当托管为False时,这是唯一的区别.模型处理的所有其他方面与正常情况完全相同.
完成后,您应该能够正常使用您的模型.要获取对象列表,您需要执行以下操作:
qry_desc_char_list = QryDescChar.objects.all()
Run Code Online (Sandbox Code Playgroud)
要将列表实际放入模板中,您可能需要查看通用视图,特别是object_list视图.