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. 2番目の例でセキュリティに関する懸念はありますか?
4

1 に答える 1

1

オプション 1 は、私の意見では、より良い方法です。日付フィールドのプロパティを使用して日付を設定でき、他のすべてが既に組み込まれているadd_articleため、不要です。auto_nowコードが少なくなり、メンテナンスも少なくなります。

于 2013-01-02T03:21:03.630 に答える