Считать модель поля динамически? - PullRequest
0 голосов
/ 21 октября 2019

Можно ли динамически считать модельное поле в django. Я пробовал использовать переопределенную модель сохранения, но она не является динамической:

class MyAdminView(admin.ModelAdmin):
   def save_model(self, request, obj, form, change):
       super(MyAdminView, self).save_model(request, obj, form, change)

Models.py

class JobRequest(models.Model):
    User=models.ForeignKey(user, on_delete = model.CASCADE)
    organization=models.CharField(max_length =150)
    email=models.EmailField(max_length =150)
    country= models.CharField(max_length =150)
    state=models.CharField(max_length =150)
    offer=models.BooleanField(default =True)
    active = models.IntegerField(max_length =150)
    present=models.IntegerField(max_length =150)

Я создаю сайт, где пользователи подают заявки на трудоустройство. Я хочу, чтобы поле present подсчитывало количество раз, когда пользователь отправил запрос на работу, и поле active , чтобы подсчитать количество предложений, полученных пользователем.

1 Ответ

1 голос
/ 21 октября 2019

То, что вы хотите, не должно быть полем в модели JobRequest, поскольку его можно легко получить из базы данных. В идеале это должно быть свойство вашей User модели, поскольку оно принадлежит пользователю. Но вы также можете сделать его свойством в JobRequest экземплярах:

@property
def present(self):
    return self.__class__.objects.filter(user=self.user).count()

@property
def active(self):
    return self.__class__.objects.filter(user=self.user, offer=True).count()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...