标签: django-admin

如果不创建表单,我可以在Django中创建一个不需要的管理字段吗?

每次我在Django的Admin部分输入一个新的播放器时,我都会收到一条错误消息,上面写着"此字段是必需的".

有没有办法在不创建自定义表单的情况下使字段不需要?我可以在models.py或admin.py中执行此操作吗?

这是我在models.py中看到的类.

class PlayerStat(models.Model):
    player = models.ForeignKey(Player)

    rushing_attempts = models.CharField(
        max_length = 100,
        verbose_name = "Rushing Attempts"
        )
    rushing_yards = models.CharField(
        max_length = 100,
        verbose_name = "Rushing Yards"
        )
    rushing_touchdowns = models.CharField(
        max_length = 100,
        verbose_name = "Rushing Touchdowns"
        )
    passing_attempts = models.CharField(
        max_length = 100,
        verbose_name = "Passing Attempts"
        )
Run Code Online (Sandbox Code Playgroud)

谢谢

python django django-models django-forms django-admin

67
推荐指数
3
解决办法
5万
查看次数

在Django管理界面中,有没有办法复制项目?

只是想知道是否有一种简单的方法来添加复制管理界面中现有列表的功能?

在数据输入中,我们遇到了许多项目与另一项共享通用数据的情况,为了节省时间,快速复制现有列表并仅更改已更改的数据将非常好.使用更好的模型结构将是减少数据重复的一种方法,但可能存在需要在将来单独更改重复数据的情况.

python django django-models django-admin

65
推荐指数
2
解决办法
1万
查看次数

在Django Admin中如何禁用删除链接

我已设法禁用"删除已选中"操作.简单.

但是用户仍然可以点击某个项目,然后底部有红色的删除链接.

django django-admin

65
推荐指数
5
解决办法
3万
查看次数

覆盖django中的admin css

我想改变admin django中的某些css,比如base.css.在django库中直接更改会更好吗?如何以最佳方式覆盖它?

django django-admin

65
推荐指数
7
解决办法
5万
查看次数

Django的.您无权编辑任何内容

我刚才创建了一个小应用程序.我创建了admin.py并用于admin.site.register(MenuEntry)将该类添加到管理控制台.它显示该类的项目很好.然后我开始研究另一个应用程序并像以前一样创建所有内容 但现在它说: 你没有权限编辑任何东西. 我比较了来自这个应用程序和来自这个应用程序的文件,它们看起来非常相似,所以我找不到差异,我无法意识到现在要做什么才能使它工作.

python django django-admin

64
推荐指数
1
解决办法
2万
查看次数

在Django admin中覆盖默认查询集

我的一个模型有一个删除标志,用于全局隐藏对象:

class NondeletedManager(models.Manager):
    """Returns only objects which haven't been deleted"""

    def get_query_set(self):
        return super(NondeletedManager, self).get_query_set().exclude(deleted=True)

class Conversation(BaseModel):
    ...
    deleted = models.BooleanField(default=False)
    objects = NondeletedManager()
    all_conversations = models.Manager() # includes deleted conversations
Run Code Online (Sandbox Code Playgroud)

如何覆盖Django管理模块使用的默认查询集以包含已删除的对话?

django django-models django-admin

64
推荐指数
3
解决办法
4万
查看次数

Django Admin:OneToOne关系作为内联?

我正在为一个satchmo应用程序组建管理员.Satchmo使用OneToOne关系来扩展基本Product模型,我想在一个页面上编辑它.

OneToOne关系可以作为内联吗?如果没有,最好的方法是将几个字段添加到我的管理员的给定页面,最终将保存到OneToOne关系中?

例如:

class Product(models.Model):
    name = models.CharField(max_length=100)
    ...

class MyProduct(models.Model):
    product = models.OneToOne(Product)
    ...
Run Code Online (Sandbox Code Playgroud)

我为我的管理员尝试了这个但它不起作用,似乎期待一个外键:

class ProductInline(admin.StackedInline):
    model = Product
    fields = ('name',)

class MyProductAdmin(admin.ModelAdmin):
    inlines = (AlbumProductInline,)

admin.site.register(MyProduct, MyProductAdmin)
Run Code Online (Sandbox Code Playgroud)

这引发了这个错误: <class 'satchmo.product.models.Product'> has no ForeignKey to <class 'my_app.models.MyProduct'>

这是自定义表单的唯一方法吗?

编辑:刚尝试以下代码直接添加字段...也不起作用:

class AlbumAdmin(admin.ModelAdmin):
    fields = ('product__name',)
Run Code Online (Sandbox Code Playgroud)

python django inline one-to-one django-admin

61
推荐指数
3
解决办法
3万
查看次数

覆盖Django ModelForm中的save方法

我无法覆盖ModelForm保存方法.这是我收到的错误:

Exception Type:     TypeError  
Exception Value:    save() got an unexpected keyword argument 'commit'
Run Code Online (Sandbox Code Playgroud)

我的目的是让表单为3个字段提交许多值,然后为这些字段的每个组合创建一个对象,并保存每个对象.在正确的方向上有用的推动将是王牌.

文件 models.py

class CallResultType(models.Model):
    id = models.AutoField(db_column='icontact_result_code_type_id', primary_key=True)
    callResult = models.ForeignKey('CallResult', db_column='icontact_result_code_id')
    campaign = models.ForeignKey('Campaign', db_column='icampaign_id')
    callType = models.ForeignKey('CallType', db_column='icall_type_id')
    agent = models.BooleanField(db_column='bagent', default=True)
    teamLeader = models.BooleanField(db_column='bTeamLeader', default=True)
    active = models.BooleanField(db_column='bactive', default=True)
Run Code Online (Sandbox Code Playgroud)

文件 forms.py

from django.forms import ModelForm, ModelMultipleChoiceField
from callresults.models import *

class CallResultTypeForm(ModelForm):
    callResult = ModelMultipleChoiceField(queryset=CallResult.objects.all())
    campaign = ModelMultipleChoiceField(queryset=Campaign.objects.all())
    callType = ModelMultipleChoiceField(queryset=CallType.objects.all())

    def save(self, force_insert=False, force_update=False):
        for cr in self.callResult:
            for c …
Run Code Online (Sandbox Code Playgroud)

python django django-forms django-admin

60
推荐指数
1
解决办法
7万
查看次数

如何将Django的GenericForeignKey限制为模型列表?

有没有办法告诉django具有contenttypes GenericForeignKey的模型只能指向预定义列表中的模型?例如,我有4个模型:A,B,C,D和一个包含GenericForeignKey的模型X. 我可以告诉X,GenericForeignKey只允许A和B吗?

django django-models django-forms django-admin django-contenttypes

60
推荐指数
1
解决办法
1万
查看次数

Django Admin:仅为一个模型字段使用自定义小部件

我的模型中有一个DateTimeField字段.我想将它显示为Django管理站点中的复选框小部件.为此,我创建了一个自定义表单小部件.但是,我不知道如何将此自定义窗口小部件用于此字段.

Django文档解释了如何使用自定义窗口小部件的所有特定类型的字段:

class StopAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.DateTimeField: {'widget': ApproveStopWidget }
    }
Run Code Online (Sandbox Code Playgroud)

但这并不够精细.我想只为一个字段更改它.

python django django-forms django-admin django-widget

58
推荐指数
4
解决办法
4万
查看次数