Django模型结构 - 模型有一个模型相关对象列表

时间:2015-06-16 22:21:02

标签: python django

我想知道以下情况的最佳结构是什么:

1) There are clients who sends requests to the other clients
2) Client should be connected to the user somehow: one client = one user
3) One client can send multiple requests
4) Every client has its own clients list

到目前为止,我做了以下事情:

class Client(models.Model):
    owner = models.OneToOneField(User,primary_key=True)
    my_clients = models.ManyToManyField('self', related_name='my_clients', symmetrical=False, blank=True)

class Request(models.Model):
    sender = models.ForeignKey(Client, related_name='sender')
    receiver = models.ForeignKey(Client, related_name='receiver')

我正在考虑在客户端对象上附加请求列表。应该在模型中进行,还是最好只在序列化器中生成该列表?

你能看到这个结构中的一些陷阱 - 在缩放方面吗?

感谢您的建议!

1 个答案:

答案 0 :(得分:1)

由于缺乏经验,我不能就最佳结构问题进行辩论,但我可能会尽量避免使用Client和{{1}这样的名称} - 太靠近内置名称

想象一下,您将开始进行单元测试,并且必须执行以下操作

Request

根据我的理解,使用from django.test import Client 和django的Client会降低可读性。

如果我错了,请纠正我。