标签: one-to-one

Django - 一对一模型管理

我对 django 相当熟练,并尝试在 Intranet 项目中使用模型表单。

本质上,我有一个“资源”模型,由另一个团队填充。第二种模型是“Intake”,用户提交资源请求。它与资源具有一对一的映射。

目标是每次摄入仅允许 1 次资源分配。

现在,摄入模型表单显示了该表单,其中有一个资源下拉字段,但需要注意的是,它显示了所有资源,无论以前是否分配。

前任。如果资源被摄入占用,保存按钮检测到不允许保存。这是预期的,但下拉列表首先不应显示该资源。

我该如何做到这一点,即不显示已分配的资源?

class Resource(models.Model):
    label = models.CharField(max_length=50, primary_key=True)
    created = models.DateTimeField(auto_now_add=True)
    created_by = models.ForeignKey('auth.User', default=1)

    class Meta:
        verbose_name_plural = "Resource Pool"

    def __str__(self):
        return self.label

class Intake(models.Model):
    order_id = models.AutoField(primary_key=True)
    requestor = models.ForeignKey('auth.User', default=1)
    resource = models.OneToOneField(Resource, verbose_name="Allocation")
    project = models.CharField(max_length=50)

    class Meta:
        verbose_name_plural = "Environment Request"

    def __str__(self):
        print("self called")
        return self.project
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

django one-to-one

4
推荐指数
1
解决办法
602
查看次数

OneToOne 中的未知映射者

当我想要与 tabble 建立 OneToOne 关系时:NewUser 到 CreateBill 我遇到异常: Exception in thread "main" org.hibernate.AnnotationException: Unknown mappedBy in: domain.CreateBill.user, referenced property unknown: domain.NewUser.user

在开关中,无论我点击“E”还是“N”,我都会遇到这个异常......

第一类与NewUser,主要是get/set

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="Urzytkownik")
public class NewUser {

    @Id
    @GeneratedValue
    private long id;

    private String name;
    private String surName;
    private int pesel; // s08
    private int telephoneNumber;
    private int pin;

    @OneToOne
    private CreateBill bill;


    public int getPin() {
        return pin;
    }

    public void setPin(int pin) {
        this.pin = pin; …
Run Code Online (Sandbox Code Playgroud)

java hibernate one-to-one

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

Spring JPA:一对一关系中共享 PK 的问题

我正在尝试与共享 PK 建立一对一的关系,但是在尝试了很多事情之后我陷入了困境......

我会尽量提供所有可能的信息:

我正在使用的技术:

  • 春季启动 2.1.5
  • 春季JPA
  • 飞道

数据源配置:

spring.datasource.url = jdbc:mysql://localhost:3306/customers?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true&useSSL=false
spring.datasource.username = admin
spring.datasource.password = root

spring.jpa.database-platform = org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql = true
Run Code Online (Sandbox Code Playgroud)

数据库模型:

@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "customer", schema = "customers")
public class Customer {

    @Id
    @GeneratedValue(generator = "uuid2")
    @GenericGenerator(name = "uuid2", strategy = "uuid2")
    @Column(name = "customer_id", columnDefinition = "BINARY(16)")
    private UUID customerId;

    @OneToOne(mappedBy = "customer", cascade = CascadeType.ALL)
    private Address address;
}

@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "address", schema …
Run Code Online (Sandbox Code Playgroud)

spring hibernate jpa one-to-one flyway

4
推荐指数
1
解决办法
442
查看次数

Entity Framework Core 中的自引用/父子关系一对零或一对一

我想在 Entity Framework Core 中创建一对零或一对一的引用/父子关系。我的意思是我的实体可以有一个父级:

public class MyEntity
{
    public Guid Id { get; set; }

    public Guid? ParentEntityId { get; set; }
    public MyEntity ParentEntity { get; set; }

    public MyEntity ChildEntity { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过 Fluent api 配置它:

entity.HasOne(x => x.ParentEntity)
    .WithOne(x => x.ChildEntity)
    .HasForeignKey( .... )
Run Code Online (Sandbox Code Playgroud)

我不明白我必须在最后一行写什么。我也不确定我的实体是否正确。

有人可以帮我吗?

编辑:这个问题不能解决我的问题:实体框架中的自引用/父子关系 我的问题是关于创建外键。此行不起作用:

.HasForeignKey(x => x.ParentEntityId)
Run Code Online (Sandbox Code Playgroud)

HasForeignKey需要输入一个字符串。

one-to-one self-referencing-table entity-framework-core

4
推荐指数
1
解决办法
2918
查看次数

表与许多表具有一对一的关系

1)表格可以与多个表格保持一对一的关系!

为了澄清更多,如果我想进行插入,第一个表将受到影响,其他表中只有一个会受到影响.

2)如果是这样,主键将如何?

3)此外,如果我想从这些表中检索大量记录,查询会是什么样子?

谢谢 .

database one-to-one

3
推荐指数
1
解决办法
2878
查看次数

使用@JoinColumn进行@OneToOne双向映射

假设我有人

class Person{
    @Id Integer id;

    @OneToOne
    @JoinColumn(name = "person_id")
    Job myJob;
}
Run Code Online (Sandbox Code Playgroud)

和约伯

class Job{
    @Id Integer id;
    Integer person_id;

    @OneToOne
    @PrimaryKeyJoinColumn(name = "person_id")
    Person currentWorker;
}
Run Code Online (Sandbox Code Playgroud)

在获取时,我无法将Person和Job映射到其他实体.
我做错了什么?

hibernate primary-key one-to-one

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

Symfony2和Doctrine,Column不能与OneToOne关系为空

这是一个实体(EDITED:完整文件内容)

// Eve\MoonBundle\Entity\MoonMaterial.php

namespace Eve\MoonBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

//use Doctrine\Common\Collections\ArrayCollection;

/**
 * @ORM\Table(name="_moon_material")
 * @ORM\Entity()
 */
class MoonMaterial
{

    public function __construct()
    {
        //$this->invTypes_byTypeID = new ArrayCollection();
    }

    // relations start

    /**
     * @ORM\OneToOne(targetEntity="Eve\DumpBundle\Entity\invTypes")
     * @ORM\JoinColumn(name="typeID", referencedColumnName="typeID")
     */
    private $invTypes_byTypeID;

    public function get_invTypes_byTypeID()
    {
        return $this->invTypes_byTypeID;
    }

    // relations end

    /**
     * @ORM\Column(name="userID", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="NONE")
     */
    private $userID;

    /**
     * @ORM\Column(name="moonID", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="NONE")
     */
    private $moonID;

    /**
     * @ORM\Column(name="typeID", …
Run Code Online (Sandbox Code Playgroud)

orm doctrine one-to-one symfony

3
推荐指数
1
解决办法
9438
查看次数

使用引用列进行Hibernate一对一映射(XML映射)

我有一个用户表和user_detail一对一映射user_detail表的表有一个字段user_id用于这个关系存储相应用户的id字段值.

如何hbm为这种关系编写hibernate 文件?

UPDATE

我的问题是用户的主键是iduser_detail的外键是什么user_id

我在互联网用户中获得的所有示例user_id作为用户主键,与其他表中的外键相同

java database hibernate one-to-one

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

流畅的NHibernate一对一映射

我很难用Fluent NHibernate开发HasOne映射.基本上,A类可以在B类中具有匹配(仅一个或没有)记录.

请帮助定义关系的AMap和BMap类.

谢谢.

public class A
{
   public virtual int Id {get;set;}
   public virtual string P1 {get;set;}
   public virtual string P2 {get;set;}
   public virtual string P3 {get;set;}
}

public class B
{
   public virtual int Id {get;set;}
   public virtual string P4 {get;set;}
   public virtual string P5 {get;set;}
   public virtual string P6 {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

c# nhibernate one-to-one fluent-nhibernate

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

首先使用实体​​框架数据库创建一对一关系

EF Code First中,我们可以通过这样的编码来创建一对一的关系:

public class User
{
public int UserID {get;set;}
public string Name {get;set;}
public int UserDetailID {get;set;}

public UserDetail Detail {get;set;}
}

public class UserDetail
{
public int UserDetailID {get;set;}
public string Address {get;set:}
public int UserID {get;set;}

public User User {get;set;}

}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在Visual Studio 2012中首先使用EF数据库创建相同的关系时,我遇到了麻烦.这是我的代码:

CREATE TABLE [dbo].[Users] (
[UserID]                 UNIQUEIDENTIFIER CONSTRAINT [DF_Users_UserID] DEFAULT (newid()) NOT NULL,
[UserDetailID]                 UNIQUEIDENTIFIER NOT NULL,
[Name]                      NVARCHAR (50)    NOT NULL,
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED …
Run Code Online (Sandbox Code Playgroud)

entity-framework one-to-one ef-code-first ef-database-first

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