2013-11-04 81 views
0

尋找一些建議/上一個Django項目的提示我的工作。Django管理項目多對多的關係

方案: 體育俱樂部運行他們每週一次的事件。他們需要跟蹤他們的會員數據庫和個人事件。我希望通過django管理員來做到這一點。

目前我已經用兩個Django的應用程序而設計的:成員和eventdays 成員應用程序有一個model.py,如:

class Member(models.Model): 
    name = models.CharField(max_length=200,null=True) 
    addedDate = models.DateTimeField(auto_now_add=True) 
    memberEventDay = models.ManyToManyField('eventdays.EventDay') 

的eventday應用具有典型

class EventDay(models.Model): 
    organiser = models.CharField(max_length=200,null=True) 
    dateRan = models.DateField('Event Date',blank=True,null=True) 

祝爲了讓用戶/管理員能夠通過訪問成員資格數據庫填充的下拉列表中的成員名稱來迭代地將成員添加到特定的活動日。對於每個人在特定的活動日,我想要註冊信息,如MoneyCollected,TimeSpent等。作爲活動日的總結,我還希望TotalMoneyCollected顯示 - 每次更新我每次編輯個人會員及其當天的支出。

我喜歡保持manytomanyfield使每個成員,我可以跟蹤哪些eventdays他/她出席併爲每個eventday,我可以有車手的名單。

使用ForeignKey字段而不是manytomanyfield,並在admin.py中使用內聯視圖允許我輕鬆地添加和刪除與會者的選項,但是我希望在manytomanyfield中實現同樣的效果。

我圖什麼我已經寫了很模糊的,所以如果你什麼都不懂,請讓我知道。

我應該走出的管理模式,並剛剛與views.py工作呢?

回答

0

對我來說,這聽起來像你可以做最(也許全部)要在管理什麼 - 所以給它一個嘗試,也許它如果需要擴展到一個或兩個視圖。

對於您的ManyToMany字段,您可以使用與管理員提供的相同的小部件將用戶分配給組。我想這正是你想要的。

只需在管理中使用filter_horizontal = ('memberEventDay',),即可獲得這個不錯的小部件。