UML ассоциативный класс и OOP языки - PullRequest
1 голос
/ 19 марта 2020

Я создаю веб-приложение с Django, я разработал приложение для дизайна с UML2. Я читал, что концепция ассоциативного класса не существует в объектно-ориентированных языках программирования, это правда? спасибо.

диаграмма классов

class diagram

1 Ответ

0 голосов
/ 19 марта 2020

Нет. Вы можете реализовать эту модель отношений следующим образом:

class Society(models.Model):
    name = models.CharField(max_length=100)

class User(models.Model):
    name = models.CharField(max_length=100)
    societies = models.ManyToManyField(Society, through='Employment', related_name='users', blank=True)

class Employment(models.Model):
    class Meta:
        unique_together = [('user', 'society')]
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    society = models.ForeignKey(Society, on_delete=models.CASCADE)
    salary = models.IntegerField()
...