現在、私は両方のClient外部キーをSigninに割り当て、いずれの参照も保存しないという問題があります。相続人はサインインもモデルDjango ForeignKeysが保存しない
#Sign-ins require just a user
class Signin(models.Model):
employee = models.ForeignKey(Employee)
sign_in_time = models.DateTimeField(null=True)
sign_out_time = models.DateTimeField(null=True)
sign_in_number = models.CharField(max_length=15, default="00000000000")
sign_out_number = models.CharField(max_length=15, default="00000000000")
client_in_obj = models.ForeignKey(Clients, related_name="client_in", null=True)
client_out_obj = models.ForeignKey(Clients, related_name="client_out", null=True)
client_in = models.CharField(max_length=100, default="Unkown")
client_out = models.CharField(max_length=100, null=True)
# Start of Sign in Function
def save(self, *args, **kwargs):
self.client_out_obj.save()
self.client_in_obj.save()
super(Signin, self).save(*args, **kwargs)
def __str__(self):
return self.employee.first_name + " " + self.employee.last_name + " : " + str(self.sign_in_time)+ " to " + str(self.sign_out_time)
は今、従業員のフィールドは節約が、2 client_in_obj、およびclient_out_objは保存されませんされています。私はそれらを割り当てますし、ページを更新するときには設定されません。ここで
は、彼らがclient_inとclient_outフィールドは今のところ、それによって取得しようとしているの私のhackey方法でしたクライアントモデル
class Clients(models.Model):
name = models.CharField(max_length=40, blank=True, null=True)
alt_name = models.CharField(max_length=25, blank=True, null=True)
address1 = models.CharField(max_length=35, blank=True, primary_key=True)
address2 = models.CharField(max_length=35, blank=True, null=True)
rate = models.FloatField(blank=True, null=True)
contact_email = models.CharField(max_length=40, blank=True, null=True)
contact_name = models.CharField(max_length=30, blank=True, null=True)
phone = models.CharField(max_length=40, blank=True, null=True)
billing_name = models.CharField(max_length=30, blank=True, null=True)
billing_email_field = models.CharField(db_column='billing_email_', max_length=12, blank=True, null=True) # Field renamed because it ended with '_'.
def __str__(self):
return self.name + ", " + self.address1
class Meta:
managed = False
db_table = 'clients'
です。
従業員には複数のサインインがあり、各サインインには最初に従業員が必要で、お互いのフィールドは1日のうちに満たされます。
Signin Modelの両方のクライアントオブジェクトで関連する名前を変更しようとしましたが、同じ名前のCharfieldsと混ざっている可能性があります。これはうまくいかなかった:( – khancock