Chapter 13. User Comments
Allowing users to interact is key to the success of a social blogging platform. In this chapter, you will learn how to implement user comments. The techniques presented are generic enough to be directly applicable to a large number of socially enabled applications.
Database Representation of Comments
Comments are not very different from blog posts. Both have a body, an author, and a timestamp, and in this particular implementation both are written with Markdown syntax. Figure 13-1 shows a diagram of the comments
table and its relationships with other tables in the database.
Comments apply specific blog posts, so a one-to-many relationship from the posts
table is defined. This relationship can be used to obtain the list of comments associated with a particular blog post.
The comments
table is also in a one-to-many relationship with the users
table. This relationship gives access to all the comments made by a user, and indirectly how many comments a user has written, a piece of information that can be interesting to show in user profile pages. The definition of the Comment
model is shown in Example 13-1.
class
Comment
(
db
.
Model
):
__tablename__
=
'comments'
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
)
body
=
db
.
Column
(
db
.
Text
)
body_html
=
db
.
Column
(
db
.
Text
)
timestamp ...
Get Flask Web Development now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.