【发布时间】:2020-09-15 06:29:19
【问题描述】:
我有一个如下所示的数据,第一列蛋白质 ID 第二列肽序列和第三列一些值我创建了一个 Django 模型来存储这些数据。
数据表:
A0A075B6K4 YELTQPPSVSTAR 60,10
A0A075B6K4 SYELTQPPSVTAR 2
A0A075B6Q5 EVQLVESGEGSLR 7
A0A075B6S5 DIQMTQSPSGDR 10
A0A0A0MRZ8 EIVLTQSPGER 30,20
A0A0B4J1V0 EVQLVESGGSLR 10
A0A0B4J1X5 EVQLVESGGSLR 0
A0A0B4J2D9 AIQLTQSPSGDR 0
A0A0C4DH42 EVQLVESGGSLR 0
A0A0C4DH55 EIVMTQSPGER 10
A0A0C4DH42 YELTQPPSTAR 20
A0A0C4DH55 YELTQPPSTAR 4
A0A0B4J1X5 YELTQPPSTAR 12
Django 模型:
from django.db import models
# Create your models here.
class ProteinID(models.Model):
ProtID = models.CharField(max_length=30)
def __str__(self):
return "%s" % (self.ProtID)
class PeptideSeq(models.Model):
sequence = models.CharField(max_length=100)
feq = models.CharField(max_length=100)
protein = models.ForeignKey(ProteinID, on_delete=models.CASCADE)
def __str__(self):
return "%s %s" % (self.sequence, self.feq)
class Meta:
ordering = ['sequence']
详情:
正如我们在表中看到的,单个蛋白质 ID 可以包含多个肽序列,单个肽可以与多个蛋白质 ID 相关联。
我想添加两个搜索选项:
- 如果输入的蛋白质 ID 作为查询,它应该返回所有相关的肽段和第三列中的值
查询 A0A0C4DH55 应该返回
YELTQPPSTAR 4
EIVMTQSPGER 10
- 或者作为查询输入的肽序列,它应该从第三列返回所有相关的蛋白质 ID 和值。
查询 EVQLVESGGSLR 应该返回
A0A0B4J1V0 10
A0A0B4J1X5 0
A0A0C4DH42 0
如何实现?
谢谢
【问题讨论】:
标签: django django-models django-rest-framework django-forms django-views