1

我有一个 django 项目,我正在使用tastepie 将我的应用程序变成基于 REST 的 API。

我让用户上传照片,然后其他注册用户可以喜欢它们。我想防止一个人多次喜欢一张照片。

我知道使用视图或美味的特定代码我可以添加功能来检查用户是否已经喜欢照片以及他们是否没有增加计数。但我想知道是否有办法在模型中进行此检查(以及这是好是坏)

谢谢

4

1 回答 1

0

我希望你有一个喜欢的模型?如果没有,请将其创建为 M2M 用户 <-> 照片关系的中间模型。接下来,添加一个简单的唯一约束

unique_together = ("user", "photo")

它是在数据库级别强制执行的,因此它会给您带来良好的性能。

如果您不想要一个专门的模型来保持喜欢,不幸的是我无法提供帮助 - 没有其他优雅的方法可以保存一些用户喜欢某些照片的事实。最后,您应该对 M2M 感到满意,因为您可以在之后轻松添加额外的功能:与照片不同,显示谁喜欢特定照片,最喜欢的时间,添加“喜欢”程度等等。

祝你好运!

于 2013-07-05T07:59:56.937 回答