这是我的模型
from django.db import models
class Page(models.Model):
page_id = models.IntegerField(default=0)
class Question(models.Model):
page = models.ForeignKey(Page)
question = models.CharField(max_length=150)
class Option(models.Model):
question = models.ForeignKey(Question)
op
问题
假设我有三个类A、B和C,其中B是A的子类,C是B的子类:
A <- B <- C
当我打开管理员并列出所有的“A”,我看到所有的“A”,“B”和“C”。但是当我遵循其中的一个链接时,为了查看详细信息并编辑特定的B,我只会看到B的字段,即使那个实例实际上是C的一个实例,我想看到的是根据它最具体的类型显示给我的对象。
我在尝试什么,
在更抽象的级别上工作时,我使用将实例转换为正确的类型。这几乎可以很好地工作(它不能处理多个继承级别)。但是,即使对于单个继承级别,我也无法将多态行为反映在管理中,因为管理人员显然不知道管理器的select_subclasses()方法。
你知道我怎
这是我的admin.py
class BooksInlineAdmin(admin.TabularInline):
model = Book
extra = 2
max_num = 4
def has_delete_permission(self, request, obj):
return True
class AuthorAdmin(admin.ModelAdmin):
list_display=("name", "phone")
inlines = [BooksInlineAdmin]
以下是我的简化模型:
from django.contrib.contenttypes.fields import (
GenericForeignKey, GenericRelation)
from django.db import models
from django.utils.translation import ugettext_lazy as _
class Thing(models.Model):
'''
Our 'Thing' class
with a link (generic relationshi
我使用的是Django1.4,并且我有一个many2many字段,所以在创建管理站点时,我想添加这个字段作为内联,下面是一些代码:
class SummaryInline(admin.TabularInline):
model = ParserError.summaries.through
class MyClassAdmin(admin.ModelAdmin):
list_display = ('classifier', 'name', 'err_count', 'supported')
fields
我最近扩展了UserProfile,所以我的admin.py看起来像这样:
from django.contrib import admin
from django.contrib.auth.models import User
from models import UserProfile
from django.contrib.auth.admin import UserAdmin
admin.site.unregister(User)
class UserProfileInline(admin.StackedInline):
model = UserPr
在Django中自定义表单字段的查询集并不困难。
但是,假设我有以下模型:
#models.py
class Work(Model):
name = models.CharfField(...)
#some fields
class Gallery(Model):
work = models.ForeignKey(Work)
class Photo(Model):
gallery = models.ForeignKey(Gallery)
class StageOfWork(Model):
work = models.ForeignKey(Work)
试着在Django学习堆叠的行文。有一个非常基本的设置
对于admin.py
from django.contrib import admin
from .models import Picture, Review
class ReviewInline(admin.StackedInline):
model = Review
save_on_top = True
fields = ["reviewer"]
#@admin.register(Picture)
class PictureAdmin(admin.ModelAdmin):
sav
我正在建立一个基于高度自定义的django管理实例的网站,并遇到了用户配置文件作为内联到user_admin的问题
长话短说,不管我在admin.StackedInline实例中为max_num和extra设置了什么,它允许每个用户最多2个配置文件-如果用户有现有的配置文件,默认情况下会有一个空白配置文件
有人知道我如何调整它,使其只显示单个内联配置文件,而不求助于某些JS前端hack吗?
相关代码来自: profiles.admin.py
from django.contrib import admin
from django.contrib.auth.models import User
我正在从admin.py中的url收集modeladmin类的当前实例,如下所示。但是现在如果我尝试创建一个新的表单,它会抛出错误,因为url不包含任何id。我如何在django中解决这个问题呢?如何在内联类实例中获取modeladmin类的当前实例?
下面是我在抛出错误的内联类中的代码。
def get_object(self, request, model):
object_id = resolve(request.path).args[0] #throws index error when 'add new form is clicked'
try:
我的django应用程序中有这些模型:
class Route(models.Model):
pass
class Link(models.Model):
start = models.ForeignKey(Stop)
runtime = models.TimeField()
position = models.IntegerField()
route = models.ForeignKey(Route)
这些管理模式:
class LinkInline(admin.TabularInline):
model = Link
class Route
我有一个TicketMessage模型,其中包含Ticket的外键。我希望将我的TicketMessage message字段作为内联显示在Ticket管理面板上。
但是,我确实成功地做到了,但是,如下图所示,由于某些原因,默认情况下,它创建了三个消息字段,而不是一个。
我想知道如何使它在默认情况下只显示一个消息,以及首先发生这种情况的原因。
TicketMessage模型
from django.db import models
from django.utils.translation import gettext as _
from painless.models import Tim
我为用户添加了一个额外的字段,完成了制作用户配置文件应用程序和扩展用户模块的整个过程。
它似乎没有出错。我想不出的是,在管理员创建新用户的页面中,如何显示这个新字段。因此,在个人信息,如姓名和姓氏,我希望有位置字段,我添加到用户配置文件。
我的用户简介:
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
class UserProfile(models.Model):
# This field i
下面的代码使django的dev服务器挂起。浏览器只是无限地等待页面加载。
class PriceTagInline(admin.StackedInline):
model = PriceTag
class ProductAdmin(admin.ModelAdmin):
inlines = [PriceTagInline]
admin.site.register(Product, ProductAdmin)
然而,
class ProductAdmin(admin.ModelAdmin):
pass
admin.site.register(Product, P
文件夹结构
models.py来自face_detect
from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class Profile(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE,null=True)
mobile = models.CharField(max_length=10,null=True)
add = model
我今天使用git获取了最新的代码,得到了以下错误:
ImportError at /
cannot import name Like
这可能与循环导入有关。我检查了回溯:
Traceback:
File "/Library/Python/2.7/site-packages/Django-1.4.1-py2.7.egg/django/core/handlers/base.py" in get_response
101. request.path_info)
File "/Library/Python/2.7/si
我对Django相当陌生,我已经阅读了关于它的关系模型和内联管理表单()的文档,我很难弄清楚下面的内容是否可能是现成的,还是我应该滚动自己的表单。
假设我有两个对象:电影和导演,这是模型声明中定义的多到多的关系,如下所示:
class Film(Model):
director = ManyToManyField('Director')
现在,在field的detail表单中,我想添加内联Director对象(它们只有一个名称字段作为惟一属性)。不只是选择现有的实例,而是能够创建新的实例,内联的形式是电影对象。
class DirectorInline(admin.Ta
请注意,我是django的新手,python的半新手。
我的管理页面(localhost:8000/admin)似乎不见了-它返回到欢迎-它的工作页面,而不是管理页。
这是主要的urls.py页面:
from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
#
我有以下示例,我不知道如何为管理界面中的每一行设置验证错误:
请参阅forms.py中该行的#添加验证错误
models.py:
from django.db import models
from django.core.exceptions import ValidationError
class Foo(models.Model):
name = models.CharField("Name", blank=True, max_length=300)
class Bar(models.Model):
name = models.CharField(&
假设我有两个模型,如下所示(来自的示例)
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=128)
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, related_name='groups')
和以下管理面板:
from django.contrib
我正在按照this教程在我的Django项目中创建一个视频上传程序,并遇到了这个错误: ..src/ videofile= /views.py“,第9行,在showvideo lastvideo.videofile AttributeError中:'NoneType‘对象没有属性'videofile’ 我确信我错过了一些明显的东西,并且已经寻找了一段时间的答案。会非常感谢你的帮助。 views.py
from django.shortcuts import render
from .models import VideoUpload
from .forms import V
我正在努力扩展django.contrib.sites.admin。我有一个困难的时间来寻找如何添加一个字段到网站的管理页面,因为事实是,django.contrib.sites对我的外国模式一无所知。有没有一种简单的方法可以让我把下面例子中的"derp“字段添加到站点管理中?我是否必须扩展django.contrib.sites.models safe/etc功能才能做到这一点?非常感谢。
class Herp(models.Model):
site = models.ForeignKey(Site)
derp = models.CharField(blank=Tru
我想用“正确”的方式消除这个警告,确保在Django 1.9到达时,我已经准备好更新它。
我收到的反对意见警告如下:
/Users/.../south/modelsinspector.py:20: RemovedInDjango19Warning: django.contrib.contenttypes.generic is deprecated and will be removed in Django 1.9. Its contents have been moved to the fields, forms, and admin submodules of django.contrib.
我想在用户管理后端显示多个应用程序的自定义模型。我可以使用经典的admin.py命令为一个应用程序做到这一点:
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
from my_user_profile_app.models import Employee
class EmployeeInline(admin.StackedInline):
model = Employee
c
我正在将我的站点从django 1.4升级到django 1.6,它保持了这样的错误: ImportError at /admin:没有名为默认值的模块。其他地方都说你应该这样做:
from django.conf.urls.defaults import *
# should be
from django.conf.urls import *
但是我没有在代码中的任何地方找到“从django.conf.urls.defaults导入*”。调试器指示异常位置为:
Exception Location: /home/.../webapps/healthtweets_dev/lib/python2