如何通过 Python shell 添加一条包含多个 actie_gebruiker(s) 的新记录?
How can I add a new record with multiple actie_gebruiker(s) via the Python shell?
以下是导入:
from django.db import models
from datetime import datetime, timedelta
from django.contrib.auth.models import User
这是我定义的第一个class。它是动作 (Actie) 的状态,它有一个 status-id 和一个 status-name,max_length 属性为 5 (todo, doing, 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
这是 class 动作(动作或用户确定的动作),它有一个 id,一个动作名称,一个动作状态,指的是上面的 table 状态,一个动作发布日期,一个结束日期(截止日期)和一个用户 ID,它指的是 table 用户 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
我现在的问题是如何通过 Python shell 添加一个具有多个 actie_gebruiker(s) 的新 Actie 对象,就像我必须使用什么命令一样?
您可以使用 ManyToManyField
字段关系中的 add
方法来添加对象。看看 Django documentation for 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)
以下是导入:
from django.db import models
from datetime import datetime, timedelta
from django.contrib.auth.models import User
这是我定义的第一个class。它是动作 (Actie) 的状态,它有一个 status-id 和一个 status-name,max_length 属性为 5 (todo, doing, 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
这是 class 动作(动作或用户确定的动作),它有一个 id,一个动作名称,一个动作状态,指的是上面的 table 状态,一个动作发布日期,一个结束日期(截止日期)和一个用户 ID,它指的是 table 用户 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
我现在的问题是如何通过 Python shell 添加一个具有多个 actie_gebruiker(s) 的新 Actie 对象,就像我必须使用什么命令一样?
您可以使用 ManyToManyField
字段关系中的 add
方法来添加对象。看看 Django documentation for 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)