mysql - Django ORM Join 语句

标签 mysql django

我在将两个表中的数据连接在一起时遇到问题。

我的模型如下所示:

class Student(models.Model):
    name = models.CharField(max_length=50)
    surname = models.CharField(max_length=50)
    sex = models.CharField(max_length=10, choices=SEX_CHOICES)
    kod_baka = models.CharField(max_length=20)
    school_class = models.ForeignKey(School_class)
    rfid = models.CharField(max_length=20, null=True)

class User_account_student(models.Model):
    kod_baka = models.CharField(max_length=20)
    login = models.CharField(max_length=50, null=True, editable=False)
    default_passwd = models.CharField(max_length=50, null=True)

我需要做的是从这两个表中一起选择数据,并通过列kod_baka链接。 SQL 查询看起来像

SELECT *
FROM Student
INNER JOIN User_account_student ON
    Student.kod_baka = User_account_student.kod_baka`

有什么建议吗?谢谢。

最佳答案

class Student(models.Model):
    name = models.CharField(max_length=50)
    surname = models.CharField(max_length=50)
    sex = models.CharField(max_length=10, choices=SEX_CHOICES)
    kod_baka = models.CharField(max_length=20)
    school_class = models.ForeignKey(School_class)
    rfid = models.CharField(max_length=20, null=True)

class User_account_student(models.Model):
    kod_baka = models.CharField(max_length=20)
    login = models.CharField(max_length=50, null=True, editable=False)
    default_passwd = models.CharField(max_length=50, null=True)

class Membership(models.model):
    student=models.ForeignKey(Student)
    user_account_student=models.ForeignKey(User_account_student)


s = Student.objects.get(....).kod_baka
User_account_student.objects.filter(membership__student.kod_baka = s).distinct()

关于mysql - Django ORM Join 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155968/

相关文章:

java - 错误: No operations allowed after connection closed

mysql - 在 mysql 中将十进制值存储为 varchar 好吗?

css - 将变量传递给 Django 中的 CSS 文件

python - 如何为 Celery 任务添加自定义 ID 以便稍后撤销任务?

python - Django:下拉列表

php - 从 android 发布 JSON 数据时出错

mysql - 一张表多字段到另一张表

mysql - Laravel:orderBy关系的字段

Django haystack 自动完成

python - Sentry:发送速率限制错误以防止错误配额耗尽