如何在Django中的任何两个不同模型的字段之间建立OneToOne关系?

时间:2012-10-23 13:00:11

标签: python django

class HmsMedicine(models.Model):
    id = models.IntegerField(primary_key=True)
    medicine_name = models.CharField(max_length=100)
    price = models.IntegerField(max_length=6)

class HmsBilling(models.Model):
    id = models.IntegerField(primary_key=True)
    regid = models.ForeignKey(HmsPatient, db_column='regid')
    medicine = models.ForeignKey(HmsMedicine, db_column='medicine')
    quantity = models.IntegerField()
    rate = models.IntegerField()

我希望price字段中包含rate字段的值。

1 个答案:

答案 0 :(得分:0)

class HmsBilling(models.Model):
    id = models.IntegerField(primary_key=True)
    regid = models.ForeignKey(HmsPatient, db_column='regid')
    medicine = models.ForeignKey(HmsMedicine, db_column='medicine')
    quantity = models.IntegerField()
    rate = models.ForeignKey(HmsMedicine, db_column='price')

hms = HmsBilling.objects.select_related().get(id=5)
hms.rate

这将为您提供ID = 5的结算价格(有关选择相关的参考,请参阅this link

更好:

class HmsBilling(models.Model):
    id = models.IntegerField(primary_key=True)
    medicine = models.ForeignKey(HmsMedicine)
    quantity = models.IntegerField()

hms = HmsBilling.objects.select_related().get(id=5)
hms.medicine.price