一个类如何在django中保存一个类数组

时间:2016-09-24 17:38:11

标签: python django

我在使用django时遇到了麻烦。现在,我有一个假设要保存消息的messagebox类,以及一个扩展它的消息类。我怎么做到这样消息框将保留消息?

我无法弄清楚的其他类是如何进行交互的。就像,我有一个可以发送消息的用户。我应该调用它的方法来调用messagebox中的方法来发送一个msg,还是我可以在用户中使用一个方法来直接创建一个msg。

我的老师试图强调凝聚力和耦合力,但他甚至从未谈过如何在django中实现这个或实现django时期。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

你在这里混淆了两件不同的事情。一个类可以很容易地拥有一个属性,该属性是包含另一个类的实例的列表,没有什么困难。

(但请注意,Message不应该扩展MessageBox;这应该是组合,而不是继承。)

然而,接着你继续谈论Django模型。但Django模型虽然是Python类,但也代表了数据库中的表。并且表示包含另一个表中的条目列表的一个表的方式是通过外键字段。因此,在这种情况下,您的Message模型将具有到MessageBox的ForeignKey。

你把send方法放在哪里完全取决于你的逻辑。一条消息应该知道如何发送自己,所以听起来这个方法会去那里。