2012-07-10 78 views
0

可以說我必須在django.how中的特定類中保存類數組嗎? for eg.I have a class Books.I希望在課本中存儲驚悚書籍數組。Django模型和數據庫表的語法是什麼?如何在django模型中存儲類的數組

+0

你是什麼意思'在類中保存類數組?你不保存類 - 你保存對象。你的代碼在哪裏?你有什麼嘗試?對不起,你的問題還不清楚,你似乎缺少一些Django的基礎知識。 – freakish 2012-07-10 07:24:05

+0

我一直在研究java/hibernate.My查詢就像在java(POJO類)中,例如。我們有一個POJO類Class Company {int id,String name,Employee [] employee with getter/setter methods} .Employee是另一個Pojo類及其相關數據。我想用django模型重新編碼。我該如何繼續? – user1513944 2012-07-10 07:41:23

回答

1

你看過the Django tutorial嗎?一切都在那裏解釋。不過,答案可能實際上取決於您使用的數據庫。但是,假設你使用傳統的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)如果您有Company類型的對象comp,那麼你可以使用訪問該公司的所有僱主:

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等非關係數據庫,情況並非如此。

+0

是的,我已經通過了Django教程,以及ORM的工作原理。我懷疑如何使用django模型來表示數據庫中的對象數組。我很抱歉,我無法正確解釋問題。 – user1513944 2012-07-10 10:53:16

相關問題