2017-03-08 67 views
-1

在我的網站上,我只希望某個用戶從我的數據庫中看到他們「擁有」的內容。例如,如果鮑勃擁有房屋1,2和3,他應該只能看到與這些房屋有關的東西。用戶只能看到來自django網站數據庫的某些數據

比方說我的模型看起來是這樣的:

class Houses(models.Model): 
    houseid = models.models.AutoField(db_column='houseID', primary_key=True). 
    owner = models.CharField(db_column='owner', max_length=50) 
    size = models.FloatField(db_column='size') 
    rooms = models.FloatField(db_column='rooms) 
    floors = models.FloatField(db_column='floors') 
    notes = models.CharField(db_column='notes', max_length=255, blank=True, null=True) 


class HouseData(models.Model): 
    houseid = models.ForeignKey(Houses, models.DO_NOTHING, db_column='houseID') 
    date = models.DateField() 
    electricity = models.FloatField(db_column='electricity') 
    water = models.FloatField(db_column='water') 

我將如何限制用戶看到網站上什麼?

編輯:只是爲了澄清,用戶名和所有者名稱是相同的

+0

where'user'field?它是'擁有者'嗎? –

+0

用戶和所有者是相同的 – ALUW

回答

3

您應該使用一個ForeignKey到用戶模式,而不是一個CharField爲貨主;那麼你可以根據與request.user的比較來進行過濾。

0

爲什麼不只是使用它?

HouseData.objects.filter(houseid__owner=owner_name_here)

+0

我希望根據誰登錄網站。因此,如果人員x登錄,我想確保網站上出現的唯一數據與人員x相對應。通過您提供的代碼,您如何確保顯示的信息是登錄人員的信息? – ALUW

+0

請顯示你想要這個活動發生的地方。否則我們無法幫助你。展示你的觀點,也許。 –

相關問題