【发布时间】:2023-03-26 00:15:01
【问题描述】:
在我的 django 应用程序中,我需要一个用于用户和作者之间对话的应用程序,因为我计划将模型制作为 -
class AuthorContact(models.Model):
messages = JSONField(default=dict)
user = models.ForeginKey(User,related_name="contact_user",on_delete=models.CASCADE)
author = models.ForeginKey(Author, related_name="contact_manager",on_delete=models.CASCADE)
我打算将消息存储为 -
{
'1':{'sender':'user','date':'02/12/2019','message':'Hi I read your book, it\'s amazing !'},
'2':{'sender':'author','date':'0312/2019','message':'Thank you, it\'s my pleasure.}'
}
如果消息是CharField,那么我需要为每条带有用户和作者的消息创建对象。
我这样做是因为我不需要为每条消息创建对象,并且数据库很容易找到特定用户和作者之间的对话。
我的问题是 -
这是个好习惯吗?
PostgreSQL 允许在这个 json 字段中存储多少最大大小?
这个技巧是否有益,而不是为每条消息创建对象然后搜索特定的聊天?
他们还有其他更好的方法吗?
【问题讨论】:
标签: sql django postgresql django-models