Django Admin Cookbook-22如何将一对一关系添加为Admin内联字段

22.如何将一对一关系添加为Admin内联字段?

可以像Foreign Key外联字段一样,将OneToOneFields一对一关系字段设置为内联。但是,只能将包含OneToOneField一对一关系的模型一侧设置为内联模型。

我们有一个这样的HeroAcquaintance模型,它与Hero模型具有一对一的关系:

class HeroAcquaintance(models.Model):
    "Non family contacts of a Hero"
    hero = models.OneToOneField(Hero, on_delete=models.CASCADE)
    ....

不可以像这样将其作为内联添加到Hero的管理模型中:

class HeroAcquaintanceInline(admin.TabularInline):
    model = HeroAcquaintance
@admin.register(Hero)
class HeroAdmin(admin.ModelAdmin, ExportCsvMixin):
    ...
    inlines = [HeroAcquaintanceInline]

返回目录

原文地址:https://www.cnblogs.com/superhin/p/12186951.html

时间: 2024-10-06 00:53:39

Django Admin Cookbook-22如何将一对一关系添加为Admin内联字段的相关文章

Django Admin Cookbook-23如何在Django admin中添加嵌套的内联

23.如何在Django admin中添加嵌套的内联? 假设我们定义了以下模型: class Category(models.Model): ... class Hero(models.Model): category = models.ForeignKey(Catgeory) ... class HeroAcquaintance(models.Model): hero = models.OneToOneField(Hero, on_delete=models.CASCADE) ... 你想拥有

Django Admin Cookbook 中文版

英文原版 链接 http://books.agiliq.com/projects/django-admin-cookbook/en/latest/ Django Admin Cookbook-如何定制和使用Django Admin管理后台 这是一本关于如何使用和定制Django Admin管理后台的书,它采用了我们所回答的,大约40个常见问题和基本任务的方式编写. 这些章节基于一组通用Django模型来讲解,你可以在此处详细阅读(本书中使用的模型). 简单的说,我们建立了两个Django应用,分

对象的一对一关系

两个对象之间的一对一关系 单向关联  单向一对一 双向关联  双向一对一 作用:可以通过任意一方得到另一方的信息 例如: 一个丈夫(husband)对一个妻子(wife) public class OneToOne { public static void main(String[] args) { Husband h=new Husband("牛郎",'男'); Wife w=new Wife("织女",22); //关联关系 h.setWife(w); w.se

EntityFramework 建立一对一关系

前言:本来要使用实体拆分实现一对一,但发现查询时无法单独查询,影响效率,故改用手动建立一对一关系 例: 实体类: public class TestDbContext : DbContext { public DbSet<Test> Tests { get; set; } public DbSet<TestUnitPrice> TestUnitPrices { get; set; } public TestDbContext() : base() { } protected ove

万里长征第二步——django个人博客(第五步 ——配置后台admin)

在urls.py文件中配置admin路径 from django.conf.urls import url from django.contrib import admin from blog.views import index urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^$', index, name='index') ] 将需要在后台显示的数据库配置在admin.py文件中 from django.contrib imp

Hibernate_8_Person和IdCard实例_一对一关系:基于外键

1)建立Person类: public class Person { private Integer id; private String name; private IdCard IdCard; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getId() { return id; } public void setId

Hibernate多表关系配置——一对一关系映射

两个对象之间是一对一的关系,如Person-IdCard 有两种策略可以实现一对一的关联映射 主键关联:即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系:数据库表不会有额外的字段来维护它们之间的关系,仅通过表的主键来关联 唯一外键关联 外键关联,本来是用于多对一的配置,但是如果加上唯一的限制之后,也可以用来表示一对一关联关系: 1.实体对象 1.1 Person实体对象 package demo.entity; /** * 人实体 * @author Don * @date:日期:2

MyBatis之级联——一对一关系

在学数据库概论的时候会听到这么几个词:数据库的关系分为一对一.一对多.多对多.对于在学校里学的知识已经忘得差不多了,在这里简单的提一下数据库的关系.此篇是介绍MyBatis是如何实现数据库中一对一关系的,我们就暂且先介绍一对一关系.所谓一对一关系其实在生活中很常见,比如一个学生有且只对应一个属于他的学生证.下面就是我们的所假设的数据库物理模型. 在这个数据库模型中,学生证和学生表是1对1的关系.那么基于此,我们会在Java代码的POJO包中就会有两个POJO对象,Student和SelfCard

Entity Framework - 基于外键关联的单向一对一关系

代码的世界,原以为世界关系很简单,确道是关系无处不在.NET世界里ORM框架中EntityFramework作为其中翘楚,大大解放了搬砖工作的重复工作,着实提高了不少生产力,而也碰到过不少问题!比如关系的映射! 一对一关系的映射: 用户账户密码信息表:包含用户名 密码 邮箱等账户登录时的信息 public class SystemAccount { public SystemAccount() { Id = DateUtils.GeneratedNewGuid(); } public Guid