0

假设我必须在 django 的特定类中保存一个类数组。我该如何进行?例如,我有一个类 Books。我希望将惊悚书籍数组存储在类书籍中。Django 模型和数据库表的语法是什么?

4

1 回答 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 回答