【问题标题】:Django Retrieve Data From Two Tables By JoinDjango 通过连接从两个表中检索数据
【发布时间】:2020-06-05 17:23:34
【问题描述】:

您好,我有两个表,即 Employee(eid,eName,contact_num,e-mail,adress,salary) 和 Nurse(nurse_id,e_id) 并且 Nurse 模型的“e_id”列在“eid”上有外键员工模型。我知道如何按特定 id 过滤,但是所有这些都作为列表,所以我想从员工表中返回所有护士。你可以在下面找到我的模型。我是 Django 的新手,这就是感谢任何帮助或提示的原因。提前致谢。

class Employee(models.Model):
    eid = models.IntegerField(primary_key=True)
    ename = models.CharField(db_column='eName', max_length=25)  # Field name made lowercase.
    contact_num = models.DecimalField(max_digits=12, decimal_places=0)
    e_mail = models.CharField(max_length=30)
    adress = models.CharField(max_length=250, blank=True, null=True)
    salary = models.IntegerField()

class Nurse(models.Model):
    nurse_id = models.IntegerField(primary_key=True)
    e = models.ForeignKey(Employee, models.DO_NOTHING)

【问题讨论】:

    标签: django postgresql django-models django-orm


    【解决方案1】:

    从员工类的实例中,您可以按如下方式获取护士

    employee_1 = Employee.objects.first()
    nurses = employee_1.nurse_set.all()
    

    可以通过以下方式调用员工列表视图模板

    {% for obj in object_list %}
    {{ obj.ename }}
    {% for nurse in obj.nurse_set.all %}
    {{ nurse.eid }}
    {% endfor %}{% endfor %}
    

    【讨论】:

    • 感谢您的帮助,但护士空空如也,虽然我有护士。当我检查我的视图功能时
    • print(nurses) 的输出是什么
    • 输出是
    • 确保您已完成迁移并且数据可用
    猜你喜欢
    • 2020-01-23
    • 2018-10-03
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多