首页 > 解决方案 > 如何将模态作为 Django 中另一个模态字段的数据类型?

问题描述

在这里,我有卖家模式,其中包含联系人字段。我创建了一个名为 Contact 的新模型名称,其中包含字段 contact_number 和 address。

我可以简单地将卖家模型的联系人字段的外键提供给联系人模型。

但是这里我想使用 Contact 模型作为 Seller 模型的联系字段的新数据类型。

class Contact(models.Model):
    contact_number = PhoneNumberField(blank=False, null=False)
    address = models.TextField(blank=False, null=False)

    def __str__(self):
        return "%s" % self.name


class Seller(models.Model):
    company_name = models.CharField(max_length=300, blank=False, null=False)
    company_profile = models.TextField(blank=False, null=False)
    contact = Contact() #Here I want use Contact model as data type for the contact field

    def __str__(self):
        return "%s" % self.company_name

这可能吗?

如果是的话,任何人都可以请指导我。我是 Django 的新手,我只有 Django 的基本知识。

这里我使用 PostgreSQL 作为数据库。

标签: djangopostgresqldjango-modelsdjango-rest-framework

解决方案


您使用 django 的任何数据库都会处理此问题,如果您使用不同的数据库而不是 sqllite,请按照文档更改设置。

class Contact(models.Model):
 contact_number = PhoneNumberField(blank=False, null=False)
 address = models.TextField(blank=False, null=False)

 def __str__(self):
    return "%s" % self.name


class Seller(models.Model):
  company_name = models.CharField(max_length=300, blank=False, null=False)
  company_profile = models.TextField(blank=False, null=False)
  contact = models.Foreignkey(Contact,on_delete=models.CASCADE)      
  def __str__(self):
     return "%s" % self.company_name

一旦通过外键和模型的文档了解更多信息@ https://docs.djangoproject.com/en/2.1/topics/db/examples/many_to_one/


推荐阅读