簡體   English   中英

Django舊問題:獲取模型中的當前用戶

[英]Django old issue: Get current user in model

首先,我很抱歉提出這個問題,我是django的新用戶。 我只通過models.Model設置我的項目

   ##models.py
    class Task(models.Model):
        Name = models.CharField('Title', max_length=200)
        Notes = models.TextField('Description',max_length=2000, null=True)
        Creator = models.ForeignKey(User, related_name='TaskCreator', null=True, blank=True)
        def __unicode__(self):
            return self.Name

   ##admin.py
   class TaskAdmin(admin.ModelAdmin):
          list_display = ['Name', 'Owner','EstEndTime','LastModifiedTime','Statu']

   admin.site.register(Task,TaskAdmin)

我為我的網站使用django的默認管理員,我不使用任何我自己的模板。 現在,當用戶登錄並要創建任務時,我想將當前用戶設置為默認創建者。 但我不知道如何在models.Model中獲取當前用戶。 我已經從網絡上查詢了一些信息,例如http://chewpichai.blogspot.tw/2007/09/using-user-info-outside-request-in.html ,但它無法正常工作。 那么誰可以告訴我在沒有請求的情況下在models.py文件中獲取當前用戶的方法。 它預先給了我很長時間,我真的希望有人可以幫助我。 謝謝

您需要覆蓋Admin Class中的save_model

   class TaskAdmin(admin.ModelAdmin):
          list_display = ['Name', 'Owner','EstEndTime','LastModifiedTime','Statu']


          def save_model(self, request, task, form, change):
              task.Creator = request.user
              task.save()

在這里閱讀它https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_model

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM