设计问题?

2024-04-19 22:03:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在建设音乐应用程序,用户可以做几个任务,包括但不限于听歌曲,如歌曲,推荐歌曲给朋友和额外的。 目前我有这个型号:

class Activity(models.Model):
    activity = models.TextField()
    user = models.ForeignKey(User)
    date = models.DateTimeField(auto_now=True)

到目前为止,我想了两个解决方案。 1正在将字符串保存到数据库。e、 g“你听了歌xyz”。 2创建有关活动的字典,并使用pickle或json保存到数据库。你知道吗

例如

dict_ = {"activity_type":"listening", "song":song_obj}

我倾向于第二种实现,但不太确定。你知道吗

你觉得这两种方法怎么样?你知道实现目标的更好方法吗?你知道吗


Tags: 方法用户数据库应用程序modelsong音乐models
2条回答

GenericForeignKey呢?你可以在你的UserActivity上有useridactivityidcontent_object,其中content_object是一首歌、一个用户或完全不同的东西。你知道吗

content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')

看起来您只需要一个枚举来匹配数据库中的表。你知道吗

所以在UserActivity表中 userid、activityid、songid、datetime等

相关问题 更多 >