wilson irungu
wilson irungu

Reputation: 77

synonyms and antonyms in a django dictionary app for local language

sorry for this question, but I had a problem with making a dictionary app for a local language, so I wouldn't need English dictionary, my problem is synonyms, I can't figure out how to implement it in my models

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse


# Create your models here.
class Voca(models.Model):
    name = models.CharField(max_length=200, unique=True)

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse("voca:detail", kwargs={"id": self.id, "name": self.name})

class Defination(models.Model):
    voca = models.ForeignKey(Voca, related_name='definations')
    defination = models.CharField(max_length=500)
    example = models.CharField(max_length=500)
    etymology = models.CharField(max_length=500)
    author = models.ForeignKey(User, default=1)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

    class Meta:
        ordering = ('created',)

    def __str__(self):
        return 'Defination given by {} on {}'.format(self.author, self.voca)

class Synonym(models.Model):
    words = models.ManyToManyField(Voca, blank=True, related_name='synonyms')

I would like for users to add words, synonyms, antonyms definitions to the database themselves since it is a slang language, so if I can get any help especially for antonyms and synonyms I would really appreciate... thanks

Upvotes: 2

Views: 373

Answers (1)

Ralf
Ralf

Reputation: 16505

My suggestion would be to remove the Synonym model and add fields to your Defination model.

class Defination(models.Model):
    voca = models.ForeignKey(Voca, related_name='definations')
    ...
    synonyms = models.ManyToManyField(Voca, related_name='synonyms')
    antonyms = models.ManyToManyField(Voca, related_name='antonyms')

Upvotes: 1

Related Questions