0

Django 创建条目。

1)如 Django 文档中所见:

class Article(models.Model):
    user = models.ForeignField(User)
    title = models.CharField(#some_params)
    content = models.CharField(#some_params)
    date = models.DateTimeField(#some_params)

那么在我看来,我可以:

new_article = Article(user=user, title="abc", content="xyz", date = datetime.utcnow())
new_article.save()

2)但也可以通过在 Article 类中调用方法来完成,即:

class Article(models.Model):
    user = models.ForeignField(User)
    title = models.CharField()
    content = models.CharField()

    def add_article(self, title, content):  
        self.title = title
        self.content = content
        self.date = datetime.utcnow()
        self.save()

然后在视图中:

title = "abc"
content = "xyz"
new_article = Article(user=user)
new_article.add_article(abc, xyz)

我问是因为我已经看到了将内容添加到数据库中的两种方法。我想问一下:

  1. 什么是更好的做法?
  2. 对第二个示例中的安全性有任何担忧吗?
4

1 回答 1

1

在我看来,选项 1 是更好的做法。add_article是不必要的,因为您可以使用auto_now日期字段的属性设置日期,其他所有内容都已内置。您将拥有更少的代码和更少的维护。

于 2013-01-02T03:21:03.630 回答