formfield_for_foreignkey 和内联管理

2024-02-27

我只想展示特定比赛中与球队相关的球员。通常,当我这样做时,它会向我显示数据库中的所有球员。这是我的 models.py

class InningsCard(models.Model):
    fixture = models.ForeignKey(Fixture)
    team = models.ForeignKey(Team)
    runs = models.IntegerField(max_length=6, default=0)
    wickets = models.IntegerField(max_length=6, default=0)
    overs = models.FloatField(max_length=6, default=0.0)

    def __unicode__(self):
        return str(self.team)

class BattingDetail(models.Model):
    STATUS_CHOICES = (
        ('no', 'not out'),
        ('bowled', 'bowled'),
        ('caught', 'caught'),
        ('lbw', 'lbw'),
    )
    innings = models.ForeignKey(InningsCard)
    player = models.ForeignKey(Player)
    runs = models.IntegerField(max_length=5, default=0)
    status = models.CharField(max_length=15, choices=STATUS_CHOICES, default='no')

    def __unicode__(self):
        return str(self.player)

现在这是我的 admin.py 包含 formfield_for_foreignkey,但它不起作用。

class BattingInline(admin.TabularInline):
    model = BattingDetail
    extra = 0

    def formfield_for_foreignkey(self, db_field, request=None, **kwargs):

        if db_field.name == 'player':
            kwargs = Player.objects.filter(team = request.team)
        else:
            pass

        return super(BattingInline, self).formfield_for_foreignkey(db_field, request, **kwargs)


class InningCardAdmin(admin.ModelAdmin):
    inlines = [BattingInline]

我哪里可能出错了?

//mouse


  1. 你要替换整个kwargs与查询集。kwargs必须是字典,并且您要查找的特定键是“queryset”:

    kwargs['queryset'] = Player.objects.filter(team=request.team)
    
  2. 我几乎肯定请求实际上不会有属性team。除非您自己将其添加到此处未显示的某些代码中,否则您需要找到另一种方法来获取当前的“团队”。您可以从中解析出团队IDrequest.path例如,并将其用于查找。

作为旁注,else如果您只是打算,则无需使用该条款pass there.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

formfield_for_foreignkey 和内联管理 的相关文章

随机推荐

  • IEnumerable 可能的多重枚举吗? [复制]

    这个问题在这里已经有答案了 这是为什么 我该如何解决它 这里没有什么需要修复的 Any 将迭代枚举 但在第一个元素之后停止 之后返回 true 多重枚举主要在两种情况下出现问题 性能 通常 如果您希望避免多次迭代 可以 因为速度较慢 这不适
  • 使用python连接mysql并上传csv

    我是 python 新手 我想使用 mysql connector 和 python 连接到 mysql 我想打开 csv 然后将其上传到 mysql 数据库 我使用 python 版本 3 6 0 我已经尝试过这个 import csv
  • 将 ASP.Net Core 2 (.NET Framework) Web Api 拆分为类库和托管项目是否可能/明智?

    我正在尝试使用 Visual Studio 2017 v15 4 5 将现有的 WCF Web API 针对 NET Framework 4 6 1 移植到 ASP Net Core 2 但在找出组织项目的良好 通用 受支持的方法时遇到困难
  • 父子数据的 xslt 递归模板

    我正在尝试将我的注意力集中在 xslt 上 stackoverflow 帮助中的一些问题 XSLT 模板和递归 https stackoverflow com questions 2835567 xslt templates and rec
  • 如何在 MongoDB 中按 $elemMatch 排序?

    在我的 MongoDB 数据库中 我有一系列产品 每个产品都包含数组中的发布信息 例如 name foo release region GB active Y date ISODate 2012 03 01T00 00 00Z region
  • 将 JSON 发布到 Web API 2 时出错:此资源不支持请求实体的媒体类型“text/plain”

    我有这门课 public class MyClass public MyClass Secret Don t tell me public string Name get set public int Age get set public
  • 生成具有最小距离的随机 x 和 y 坐标

    R中有没有办法生成它们之间距离最小的随机坐标 例如 我想避免什么 x lt c 0 3 9 4 1 8 y lt c 1 4 1 3 9 7 plot x y 这是随机几何中的一个经典问题 空间中完全随机的点 其中落在不相交区域中的点的数量
  • 如何解析字符串并返回嵌套数组?

    我想要一个Python函数 它接受一个字符串 并返回一个数组 其中数组中的每个项目要么是一个字符 要么是另一个此类数组 嵌套数组在输入字符串中以 开头并以 结尾进行标记 因此 该函数的行为如下 1 foo abc a b c 2 foo a
  • Android 中不安全的蓝牙连接

    一位教授向我提出挑战 要求我在 Android 上开发一个小型蓝牙演示应用程序 直到两周前他向我提出这个挑战之前 我对 Android 开发一无所知 一般来说 我对 Java 编程也很陌生 所以我的起点还很远 但不管怎么说 所以我完成了大部
  • mousedown 事件的 if else if 语句

    我的目标是为每个单击的项目显示不同的对话框 我目前有一个设置 我想我可以添加一个 if 语句 如果将 mousedown 放在 div a dialog a 上 否则如果将 mousedown 放在 div b dialog b 等上 我是
  • .NET 正则表达式检查长度和非字母数字字符

    我需要 Regexp 来验证字符串的最小长度为 6 并且它至少包含一个非字母数字字符 例如 eN S u h9YI gt 4j 9YI 4j eN S usdf dfh9YI gt 4j ghffg 9YI 4j 这个运作良好 6 d 但在
  • 使用并行工具箱创建具有有限数量工作人员的任务/作业池(线程池)

    我想使用并行计算工具箱来加速一组相互不依赖的函数调用 为了提高效率 我想使用计时器函数 回调函数在我的函数之一完成执行后继续执行更多函数 我事先不知道哪些函数会更快 所以我不能将我的函数集分成几个池并将它们设置为并行 换句话说 我想要一些并
  • 通过 WCF 服务传递枚举

    我需要在与我的 WCF 服务项目分开的项目中定义一个枚举 我正在创建一个包含枚举和其他数据的对象 当我通过 WCF 服务将对象传递给客户端时 我得到一个未找到的信息 Enum public enum Color Red 1 Blue Gre
  • Terraform 上出现“无效的旧提供商地址”错误

    我正在尝试使用 terraform v0 14 3 部署 bitbucket 管道以在谷歌云中创建资源 运行 terraform 命令后 管道失败并出现以下错误 Error Invalid legacy provider address T
  • 如何防止滑动触发点击?

    I use 触摸滑动 http labs rampinteractive co uk touchSwipe demos 创建可滑动的图像列表 我将滑动事件绑定到图像 同时我还绑定了一个单击事件来打开图像的大版本 我的问题是 如果我滑动 它也
  • 什么是换行转换?

    当您尝试将值从一种类型转换为另一种不兼容的类型时 您会在 C 中收到以下错误 CS0039 无法通过引用转换 装箱转换 拆箱转换 包装转换或 null 类型转换将类型 A 转换为 B 我了解如何潜在地解决此问题 但我的问题是关于转换本身的类
  • Rails 迁移使列为 null => true

    我最初创建了一个表 其中列为 t string email default gt null gt false 要求已更改 现在我需要允许电子邮件为空 如何编写迁移以使 null gt true change column null http
  • 根据向量更改列的类别

    我有 2 个数据框 主要的一个df 另一个数据框tmp它描述了列类型df和新格式应转换哪些列 这是一个可重现的示例 df lt data frame var1 c a b c var2 c 1 2 3 var3 c d e f tmp lt
  • Clojure 的惰性如何与 Java/不纯代码的调用交互?

    今天我们在代码中偶然发现了一个问题 无法回答这个 Clojure 问题 Clojure 是严格还是惰性地评估不纯代码 或对 Java 代码的调用 似乎副作用 惰性序列会导致奇怪的行为 以下是我们所知道的导致这个问题的信息 Clojure 有
  • formfield_for_foreignkey 和内联管理

    我只想展示特定比赛中与球队相关的球员 通常 当我这样做时 它会向我显示数据库中的所有球员 这是我的 models py class InningsCard models Model fixture models ForeignKey Fix