python - 如何通过 Python shell 添加具有多个 actie_gebruiker(s) 的新记录?
问题描述
以下是进口:
from django.db import models
from datetime import datetime, timedelta
from django.contrib.auth.models import User
这是我定义的第一个类。它是动作的状态 (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
这是 Actie 类(动作或用户确定的动作),它有一个 id、一个动作名称、一个动作状态(指上面的状态表)、动作发布日期、结束日期(截止日期)和一个用户 ID,它指的是用户 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 对象,例如我必须使用什么命令?
解决方案
您可以使用字段关系中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)
推荐阅读
- python-3.x - 需要删除每三个元素并在列表只剩下两个元素时返回它
- powershell - Terraform:命令“Powershell.exe”产生了无效的 JSON:JSON 输入意外结束
- django - 如何自动填充 Django Rest Framework 模型字段
- python - 使用 argparse 时使函数可导入
- c - 避免与 pthread 发生内存冲突
- r - R:训练集和测试集对分类解释变量采用不同的值:逻辑回归
- sql - 上一季度的最后一天减去 1 年或 2 年
- oracle - 如何在 PL/SQL Developer 中检索和增加指纹分数?
- ios - 我的应用程序如何打开 Siri 快捷方式记录短语视图
- python-2.7 - 如何使用 api.onchange 返回字典值