假设我必须在 django 的特定类中保存一个类数组。我该如何进行?例如,我有一个类 Books。我希望将惊悚书籍数组存储在类书籍中。Django 模型和数据库表的语法是什么?
问问题
1229 次
1 回答
1
你读过Django 教程吗?一切都在那里解释。不过,答案实际上可能取决于您使用的数据库。但是假设您使用经典 SQL,那么 ORM 的工作原理如下:
1)您定义主要模型:
class Company( models.Model ):
name = models.CharField( max_length = 100 )
# some other fields if necessary
2)您定义指向主模型的相应子模型:
class Employer( models.Model ):
name = models.CharField( max_length = 100 )
company = models.ForeignKey( Company ) # <----- relation here
# some other fields if necessary
3)如果您有一个comp
类型的对象Company
,那么您可以使用以下方式访问该公司的所有雇主:
comp.employer_set.all( )
该employer_set
属性来自Employer
类名和_set
后缀。您可以为此字段定义自己的名称。您只需要Employer
稍微修改类的定义,如下所示:
class Employer( models.Model ):
name = models.CharField( max_length = 100 )
# note the change
company = models.ForeignKey( Company, related_name = 'employers' )
现在您可以使用:
comp.employers.all( )
这些是基础。关系数据库不可能(或至少效率极低)在主模型中实际创建引用数组。但是,如果您使用的是 MongoDB 等非关系型数据库,情况并非如此。
于 2012-07-10T07:52:38.213 回答