Skip to content
Snippets Groups Projects
Commit 61a3b8ad authored by Kenzo-Hugo Hillion's avatar Kenzo-Hugo Hillion :recycle:
Browse files

Use utils method to extract many to many fields

parent da92c961
No related branches found
No related tags found
1 merge request!3Integrate taxonomy to database
...@@ -8,6 +8,8 @@ from itertools import islice ...@@ -8,6 +8,8 @@ from itertools import islice
import django import django
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from metagenedb.utils.dict_operations import extract_dict
# Before model import, we need to called django.setup() to Load apps # Before model import, we need to called django.setup() to Load apps
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "metagenedb.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "metagenedb.settings")
django.setup() django.setup()
...@@ -57,20 +59,19 @@ def link_to_function(obj_gene, gene_dict): ...@@ -57,20 +59,19 @@ def link_to_function(obj_gene, gene_dict):
def insert_gene(gene_dict): def insert_gene(gene_dict):
MANY_TO_MANY_FIELDS = ['kegg_ko'] MANY_TO_MANY_FIELDS = ['kegg_ko']
many_to_many_elements = extract_dict(gene_dict, MANY_TO_MANY_FIELDS)
try: try:
obj_gene = Gene.objects.get(gene_id=gene_dict.get('gene_id')) obj_gene = Gene.objects.get(gene_id=gene_dict.get('gene_id'))
for key, value in gene_dict.items(): for key, value in gene_dict.items():
if key not in MANY_TO_MANY_FIELDS: setattr(obj_gene, key, value)
setattr(obj_gene, key, value)
except Gene.DoesNotExist: except Gene.DoesNotExist:
obj_gene = Gene(gene_id=gene_dict.get('gene_id'), obj_gene = Gene(gene_id=gene_dict.get('gene_id'),
gene_length=gene_dict.get('gene_length')) gene_length=gene_dict.get('gene_length'))
obj_gene.full_clean() obj_gene.full_clean()
obj_gene.save() obj_gene.save()
# Add link to KEGG # Add link to KEGG
if gene_dict.get('kegg_ko') != 'unknown': if many_to_many_elements.get('kegg_ko') != 'unknown':
link_to_function(obj_gene, gene_dict) link_to_function(obj_gene, many_to_many_elements)
def insert_gene_list(chunk_genes): def insert_gene_list(chunk_genes):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment