4

管理インターフェイスからメモを操作するときに、現在認証されているユーザーへの参照をメモに含めることができるようにしたいと考えています。モデルは次のようになります。

from django.db import models
from django.contrib.auth.models import User
from datetime import datetime



class Note(models.Model):
    datetime = models.DateTimeField(default=datetime.now)
    author   = models.ForeignKey(User, default=authenticated_user)
    note     = models.TextField()

    def __unicode__(self):
        return unicode(self.author) + u' - ' + unicode(self.datetime)

ユーザーに表示される唯一のフィールドは、メモ テキスト フィールドです。日時と作成者は、モデル、管理インターフェースなどによって自動的に入力される必要があります。これはできますか?誰かサンプルコードを持っていますか?

ありがとう!

4

1 に答える 1

4

auto_now_add=True日付の設定は日時フィールド定義に指定することで対応できます。

管理者で保存時にユーザーを設定するには、管理者クラスでこれを行います。

class NoteAdmin(admin.ModelAdmin):
    ...usual admin options...

    def save_model(self, request, obj, form, change):
        obj.user = request.user
        obj.save()
于 2009-05-13T21:53:34.027 に答える