我正在用幾個區域來編寫用戶驅動的應用程序。我希望允許用戶自定義他們的消息設置,以便他們只收到有關他們關心的部分和操作的電子郵件。我已經制定了以下Class
:圍繞另一個模型的查詢集平分查詢集
class EmailSetting(models.Model):
user = models.ForeignKey(User, related_name="%(class)s_related_user")
key = models.CharField(max_length=50)
value = models.BooleanField()
這是由一種叫做get_users(key, default)
方法,其中應該返回用戶的列表中。例如,如果我要求輸入key="new_post", default=False
中的用戶列表,那麼我應該得到一個用戶列表,其中他們的EmailSetting的值爲True,表示該密鑰。這很簡單,因爲我可以使用EmailSetting模型。
如果默認值爲True,事情似乎更難。我從來沒有做過任何比模型基本查找更復雜的事情,所以我需要一個手。
從用戶的完整列表中,我需要刪除帶有False EmailSetting的用戶。短期上做EmailSetting尋找虛假記載和反覆切割出來的第一查詢集的另一個查詢的,我看不出如何做到這一點...
...但有必須是另一種方式,因爲這太臭。
你能發佈你如何改變EmailSetting類嗎?我已經從它的末尾刪除了_user並重置了SQL,但是我收到了FieldError:無法將關鍵字'emailsetting'解析爲字段。類型錯誤。 – Oli 2009-01-15 13:02:00