2016-05-24 4 views
0

私は複数のアプリケーションを持つWebページを構築しています...ユーザー管理のためにdjango registration reduxを使用しています。別のデータベースを持つ別のアプリケーションmonitorがあります。私はユーザテーブルをreduxからmonitorアプリから企業テーブルに接続するようにしているので、会社は複数のユーザを持つことができます。テーブルのフィールドを追加する必要があります。companyテーブルへの外部キーとして使用します。company多くはusersです。django registration redux databse extension

私の理解は、userテーブルからreduxまでです。従業員テーブルに1対1フィールドを作成して、必要なすべてのフィールドを追加するだけです。

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. 私は、ユーザーが最初に作成されたときにダミー会社を作成したいので、従業員表の会社フィールドは常に入力されますか?または、ユーザーと企業の接続にはより良いアプローチがありますか?

希望常にあなたのモデルコードの下で、デフォルトのダミー会社を持っているために、この、あまりにも混乱はない...

答えて

0

一つの方法:

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) 
関連する問題