Django Сигналы Python
В этом фрагменте кода я хочу получить текст из недавно созданных данных в модели
models.py:
from django.db import models
class Tokenize(models.Model):
text = models.TextField()
class Pos(models.Model):
POS_TAGS = [
('NOUN', 'NOUN'),
('ADJ', 'ADJ'),
('NUM', 'NUM'),
('PRON', 'PRON'),
('ADV', 'ADV'),
('VERB', 'VERB'),
('CNJ', 'CNJ'),
('ADP', 'ADP'),
('PRT', 'PRT'),
('INTJ', 'INTJ'),
('MOD', 'MOD'),
('IMIT', 'IMIT'),
('AUX', 'AUX'),
('PPN', 'PPN'),
('PUNC', 'PUNC'),
('SYM', 'SYM')
]
token = models.CharField(max_length=150)
pos = models.CharField(max_length=150, choices=POS_TAGS, null=True, default='NOUN')
signals.py:
from django.db.models.signals import post_save
from django.dispatch import receiver
from .models import Tokenize, Pos
from uztagger import Tagger
Uztagger помечает тегами каждое слово в тексте пример: ввод: "Белая доска" выходные данные: [('White', 'ADJ'), ('board', 'NOUN')]. но это для узбекского языка
@receiver(post_save, sender=Tokenize)
def create_profile(sender, instance, created, **kwargs):
tagger = Tagger()
if created:
text = instance.text # there i should get text of receantly created data
tokens = tagger.pos_tag(text)
for token in tokens:
a = Pos(token=token[0], pos=token[1]) # and there i should create tagged data
a.save()
Я должен получить данные из инстанса и разместить их в другой модели