我想创建一个应用程序,用户可以在其中订阅房间并像聊天室一样互相发送信息。
我的想法如下:
用户可以有多个组。
房间可以有多个用户和帖子。
帖子有一位用户作为其作者,可以在多个位置发布 一次房间。
class Room(models.Model):
roomname = models.CharField(max_length=6)
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
rooms = models.ManyToManyField(Room)
设置Django模型的最佳方法是什么,如何在用户与模型中的房间之间添加关系?
答案 0 :(得分:0)
聊天室权限规则:
class Room(models.Model):
subscribers = models.ManyToManyField(User, blank=True) #(1)
name = models.CharField(...)
...
class Message(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE) #(2)
room = models.ForeignKey(Room, on_delete=models.CASCADE) #(3)
message = CharField(...)
...
注意:该模型结构取自Django-Chatrooms
从那里您可以自定义房间,将其设为私人房间或将访问权限限制为 n 个人,等等...
您始终可以获取现有项目并轻松地从其资源库中获取灵感。