首页 > 解决方案 > 在 Django 中执行 OneToOne 关系的更好方法是什么?

问题描述

想知道哪种方法是在 Django中强制执行关系的有效方法。OneToOne这是我们遇到的和想要的意见。

class Address(models.Model):
    phone = models.OneToOneField(Phone, related_name='phoneNumber')

class Phone (models.Model):
      phone = models.PositiveIntegerField(min_length=9)

另一个是使用带有unique_together的ForeignKey -

class Phone(models.Model):
    address = models.ForeignKey(Address, related_name='phoneAddress',on_delete=models.CASCADE)
    phone = models.PositiveIntegerField(min_length=9)

   
    class Meta:
          unique_together = ['phone','address',]

或通过创建一个子类-

class Address(models.Model):
      ....

class Phone (Address):
      phone = models.PositiveIntegerField(min_length=9)

感谢您的专业知识和见解。

干杯!

标签: djangodjango-modelsone-to-one

解决方案


推荐阅读