Py学习  »  Django

如何在Django中将模态作为另一模态字段的数据类型?

Saiyed AZAZUL • 6 年前 • 237 次点击  

这里我有包含联系人字段的卖家模式。我创建了一个新的模型名作为联系人,其中包含字段“联系人编号和地址”。

我可以简单地给出一个外键,将卖家模型的联系人字段转换为联系人模型。

但在这里,我想使用联系人模型作为卖家模型联系人字段的新数据类型。

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

这有可能吗?

如果是的话,有人能指导我吗?我是新来的姜哥人,我只有姜哥的基本知识。

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38640
文章 [ 1 ]  |  最新文章 6 年前
Pranay reddy
Reply   •   1 楼
Pranay reddy    7 年前

无论您使用的是什么数据库,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

了解更多信息,请查阅ForeignKey和模型的文档@ https://docs.djangoproject.com/en/2.1/topics/db/examples/many_to_one/