我正在創建一個簡單的體重管理應用程序,用戶可以在其中註冊,登錄和更新信息,如體重,身體測量等。我沒有用Django一會兒,慢慢地學習最好的我從一開始就離開的做法。更新用戶信息從單獨的模型Django
我使用的Django的allauth管理用戶註冊,因爲這可以讓人們與Facebook等
我創建了一個簡單的應用程序名爲「統計信息」與ForignKey到用戶登錄。
class Stat(models.Model):
user = models.ForeignKey(User, default=False)
height = models.CharField(max_length=20)
weight = models.CharField(max_length=20)
waist = models.CharField(max_length=20)
hips = models.CharField(max_length=20)
upperleg = models.CharField(max_length=20)
upperleg = models.CharField(max_length=20)
calf = models.CharField(max_length=20)
bodyfat = models.CharField(max_length=20)
我希望用戶能夠做的是每天/每週登錄和更新統計信息。然後才能查看以前的統計信息。這可能會通過基於上述方法的模型表單完成。隨着時間的推移,我會增加更多的複雜性。
有沒有另一種方法可以做到這一點有什麼優勢?如果最好的方法是最好的?有沒有一種方法可以列出管理員用戶頁面中該模型的所有對象,以便能夠輕鬆地檢查用戶統計信息?
在此先感謝。
嗨@zubhav感謝您的回覆,這是幫助了很多。我很清楚,您是否會在每個需要訪問用戶的應用程序中擴展用戶模型?所以在我的'統計'應用程序中創建一個新的UserProfile模型?或者爲UserProfile創建一個新應用程序? 我確定這是第一個,但我只是想確保這是正確的。我發現了一個很好的小寫在這裏 - https://simpleisbetterthancomplex.com/tutorial/2016/07/22/how-to-extend-django-user-model.html#onetoone – JDavies
而不是'延長'的用戶模型,你應該創建一個完全不同的模型,它有一個OneToOne鏈接到用戶。這僅僅是因爲用戶是應該嚴格用於識別/驗證某人的模型。在用戶對象中添加額外字段(如高度和重量)並不是最好的,因爲它不直接與實體相關。 也許^上述實際上是你的意思,但你說'延長',所以我只是想澄清。但是,是的,在每個新應用程序中,您都會創建一個新的配置文件模型。 – zubhav
我只是點擊了你附加的鏈接。是的,這是正確的方法! – zubhav