У меня есть класс, подобный ниже:
class News(models.Model):
description = models.TextField(verbose_name="Description", max_length=50, blank=True, null=True, default="")
timestamp = models.DateTimeField(auto_now_add=True)
у него есть текстовое поле. Теперь я должен перечислить сущности, которые есть в этом тексте, поэтому я определил связанную таблицу как ниже:
class Entity(models.Model):
news = models.ForeignKey(
News,
related_name='entities4thisnews',
on_delete=models.CASCADE)
entity = models.TextField(verbose_name="Entity", max_length=100, blank=True, null=True, default="")
timestamp = models.DateTimeField(auto_now_add=True)
В качестве примера у меня есть этот текст в первой таблице
news1ID, "Франция в Европе".
когда пользователь публикует его во второй таблицедолжен автоматически заполняться
entityID1, news1ID, Франция
entityID2, news1ID, Europe
, когда пользователь публикуетnews, мой вопрос заключается в том, где находится лучшее место для обработки текста (в данном случае для поиска сущности) и публикации обработанных результатов в соответствии со следующей таблицей?
Право на летучую мышь заключается в том, что newsID1не определено ни перед каким постом для новостей.
вот также мои взгляды.
class NewsList(generics.ListCreateAPIView):
queryset = News.objects.all()
serializer_class = NewsSerializer
name = 'news-list'
def perform_create(self, serializer):
pass
class EntityList(generics.ListCreateAPIView):
queryset = Entity.objects.all()
serializer_class = EntitySerializer
name = 'entity-list'
Спасибо за вашу помощь!