Python 创建依赖Django中另一个模型的模型选择字段
我是Django的新手,但我正在尝试用另一个模型VideoTypes中的视频类型替换categories常量。我该怎么做Python 创建依赖Django中另一个模型的模型选择字段,python,django,Python,Django,我是Django的新手,但我正在尝试用另一个模型VideoTypes中的视频类型替换categories常量。我该怎么做 from django.db import models # from django.contrib.auth import get_user_model # User = get_user_model() CATEGORIES = ( ('Executive Speaker Series', 'Executive Speaker Series'), ('
from django.db import models
# from django.contrib.auth import get_user_model
# User = get_user_model()
CATEGORIES = (
('Executive Speaker Series', 'Executive Speaker Series'),
('College 101', 'College 101'),
('Fireside Chat', 'Fireside Chat'),
('Other', 'Other')
)
# Create your models here.
class VideoType(models.Model):
type = models.CharField(max_length=255)
def __str__(self):
return self.type
class Video(models.Model):
title = models.CharField(max_length=255)
link = models.CharField(max_length=1000)
category = models.CharField(choices=CATEGORIES, max_length=255)
timestamp = models.DateTimeField(auto_now_add=True)
# owner = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
你在找场地。它还需要设置删除相关模型时的行为,请参见说明
VideoType(models.Model):
type = models.CharField(max_length=255)
def __str__(self):
return self.type
class Video(models.Model):
title = models.CharField(max_length=255)
link = models.CharField(max_length=1000)
category = models.ForeignKey(VideoType, on_delete=models.SET_NULL) # category is now referring to VideoType model
timestamp = models.DateTimeField(auto_now_add=True)
您拥有的实现需要具有变量而不是字符串的元组 将
类别
变量更改为
CATEGORIES = (
(Executive_Speaker_Series, 'Executive Speaker Series'),
(College_101, 'College 101'),
(Fireside_Chat, 'Fireside Chat'),
(Other, 'Other')
)