如何设计才能保证论坛楼层不重复?

2013-01-25 09:28:47 +08:00
 jacky007wang
现在有个需求,论坛贴子的回复都会显示xx楼,比如:

20楼 Jacky
楼主好人,1024
[回复此楼]

如果用户John点了[回复此楼],那么这个回复需要显示成:

21楼 John
@Jacky 回复20楼
1024
[回复此楼]

和v2ex相同的是都有@username, 不同的就是加了 回复xx楼

像v2ex这样,楼层数是不需要记录的,显示的时候计算一下就好,但按我说的这种需求,需要把楼层记在数据库
Table Reply:
reply_id
user_id
content
floor : 本条回复的楼层
reply_to_user_id : 对应@User
reply_to_floor : 对应回复xx楼

现在的问题就是有什么简便的方式记录楼层,能保证并发情况下多个用户同时回复,楼层floor这个字段能正确设置而不会出现楼层重复?
PS:用的Django
5097 次点击
所在节点    程序员
23 条回复
vigoss
2013-01-26 00:36:48 +08:00
没懂,要是我来弄的话应该会做成回复楼层就好。剩下的都能查到吧。
xgdyhaiyang
2013-01-26 01:01:49 +08:00
jacky007wang
2013-01-26 07:46:52 +08:00
@mercurylanded 嗯,是的改成少量引用,实现起来容易点,也是很多论坛采用的方式
@vigoss @xgdyhaiyang 是下边这个意思

20楼 Jacky
楼主好人,1024 <-------------回复内容
[回复此楼]

如果用户John点了[回复此楼],那么这个回复需要显示成:

21楼 John
@Jacky 楼主好人,1024 <-------------引用20楼Jacky的回复内容
---------------------
1024 <-------------John的回复内容
[回复此楼]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/58728

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX