如何从登录的用户信息中预填充 Admin 字段?
我有model.py:
from django.db import models
class News(models.Model):
title = models.CharField(max_length=65)
body = models.TextField()
author = models.CharField(max_length=55)
Run Code Online (Sandbox Code Playgroud)
我有 admin.py:
from django.contrib import admin
from django.contrib.auth.models import User
from newsite.news.models import News
class NewsAdmin(admin.ModelAdmin):
list_display = ('title','author')
search_fields = ['title', 'author']
prepopulated_fields = {'author': (?????)}
admin.site.register(News, NewsAdmin)
Run Code Online (Sandbox Code Playgroud)
我一直在努力弄清楚如何让当前登录的用户进入作者的 prepopulated_field。
任何提示将不胜感激。谢谢。
如何将request.user的值输入TemplateTag?
在myproject/news/templatetags/news_tags.py文件中我有:
from django import template
from myproject.news.buildnews import BuildNewsList
from django.contrib.auth.models import User
from django import http
from django.contrib import admin
from django.template import RequestContext
register = template.Library()
def news_now (context):
#who = request.user ## this doesn't work
news = BuildNewsList()
entries = news.buildnewslist()
return {'entries': entries, 'who': who, }
register.inclusion_tag('news_list.html', takes_context=True)(news_now)
Run Code Online (Sandbox Code Playgroud)
另外,我有一个文件news_list.html,整体而言templatetag有效.我只是无法在此模板标签中提取request.user的值.
非常感谢任何指针.谢谢.凯文
我有两个应用程序 - 一个用于狗,一个用于垃圾 - 理想情况下我会将外键互相支持,如下所示:
在dogs.py中:
from litters.py import Litter
class Dog(models.Model):
name = models.CharField(max_length=55)
Litter = models.ForeignKey(Litter, blank=True)
Run Code Online (Sandbox Code Playgroud)
在litters.py中
from dogs.py import Dog
class Litter(models.Model):
name = models.CharField(max_length=55)
sire = models.ForeignKey(Dog, related_name='dog_sire_set')
dam = models.ForeignKey(Dog, related_name='dog_dam_set'
Run Code Online (Sandbox Code Playgroud)
在创造一个新的垃圾时,我希望垃圾的大坝和父亲(妈妈和爸爸)来自我的狗桌,因此两个FK's to dam and sire.所以在我创造一个垃圾之前,我必须至少有两个狗条目.
后来,在描述新的狗入境时,我想知道狗的窝是否已知,而且那窝应该来自我的垃圾桌.不应该要求狗有一窝,但如果该场不是空的,那么我想知道它.
上面的代码不起作用,但它演示了我想要实现的目标.我很感激有关如何解决这个问题的任何提示.谢谢.