Как я могу добавить новую запись с несколькими actie_gebruiker (s) через оболочку Python? - PullRequest
0 голосов
/ 13 ноября 2018

Вот импорт:

from django.db import models
from datetime import datetime, timedelta
from django.contrib.auth.models import User

Это первый класс, который я определил.Это статус действия (Actie), и он имеет идентификатор статуса и имя статуса с атрибутом max_length 5 (todo, do, done)

class Status(models.Model):
    id = models.IntegerField(primary_key=True)
    status_naam = models.CharField(max_length=5, default='todo')

    def __str__(self):
        return str(self.id) + " - " + self.status_naam

Это класс Actie (Действие или действие, определяемое пользователем), которое имеет идентификатор, имя действия, состояние действия, которое ссылается на приведенную выше таблицу «Состояние», дату публикации действия, дату окончания (крайний срок) и пользовательid, который ссылается на таблицу Users, которую дает мне django.

class Actie(models.Model):
    id = models.IntegerField(primary_key=True)
    actie_naam = models.CharField(max_length=150, default='-')
    actie_status = models.ForeignKey(Status, default=1)
    actie_aanmaakdatum = models.DateTimeField(default=datetime.now())
    actie_einddatum = models.DateTimeField(default=datetime.now() + timedelta(days=1))
    actie_gebruiker = models.ManyToManyField(User)

    def __str__(self):
        return str(self.id) + " - " + self.actie_naam

Теперь у меня вопрос, как я могу добавить новый объект Actie с несколькими actie_gebruiker (s) через оболочку Python, например, какую команду мне нужно сделать?использовать ..?

1 Ответ

0 голосов
/ 13 ноября 2018

Вы можете использовать метод add из поля ManyToManyField для добавления объектов.Ознакомьтесь с документацией Django для ManyToManyField

actie = Actie.objects.create() # put some parameters inside create
user1 = # get or create user
actie.actie_gebruiker.add(user1)
user2 = # get or create user
actie.actie_gebruiker.add(user2)
...