Django注册redux数据库扩展

2024-06-06 09:14:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个包含多个应用程序的网页。。。我使用django registration redux进行用户管理,我有另一个应用程序monitor,它有另一个数据库。我希望将用户表从redux连接到monitor应用程序的公司表,这样一个公司就可以有多个用户-因此我需要在user表中有一个额外的字段用作company表的外键=>;一个company可以有多个users。你知道吗

我的理解是,要从redux中extanduser表,我只需要在employee表中创建一个一对一的字段,并添加所有需要的字段。你知道吗

目前我有这样的想法:

class Employee(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    company = models.ForeignKey(Company, on_delete=models.CASCADE)

class Company(models.Model):
    company_name = models.CharField(max_length=255)
    email = models.EmailField()
    address_1 = models.CharField(max_length=255)
    address_2 = models.CharField(max_length=255)
    post_code = models.CharField(max_length=15)
    country = models.CharField(max_length=60)

我的问题:

  1. 我不认为这是有效的,我认为这是非常错误的,我不知道在哪里寻求帮助

  2. 我想在第一次创建用户时创建一个虚拟公司,这样employee表中的company字段总是填充的?还是有更好的方法来连接用户和公司?

希望这不会太混乱。。。你知道吗


Tags: 用户应用程序modelonmodelsemployee公司length
1条回答
网友
1楼 · 发布于 2024-06-06 09:14:33

在您的模型代码下,始终有一个默认的虚拟公司的一种方法:

def save(self, *args, **kwargs):
    super(MyThing, self).save(*args, **kwargs)
    if not self.company:
        dummy_company = Company(name='Microsoft').save()
        self.company = dummy_company
        super(MyThing, self).save(*args, **kwargs)

相关问题 更多 >