我有一個關於使用django-taggit的問題。我有一個UserProfile(我在設置文件中使用AUTH_PROFILE_MODULE附加),在其中存儲了一組技能,例如:,等等。然後,當有人想要請求輔導會話時,他們可以寫一個關於什麼的描述他們想要併爲他們的要求放置標籤。 (例如,我想要一名熟練掌握微積分和物理學的導師)。如果我讓站點的用戶選擇他們自己的標籤,那麼我擔心我們最終可能會在標籤中出現「標籤地獄」,例如,等等。所以,我想標記技能,但只能從表格當我們添加人員時,我在管理員中填充。這避免了擴散問題(類似於stackoverflow的工作原理)。使用django-taggit,是否可以將標籤限制爲預先批准的值?
下面是一些試驗代碼:
from django.db import models </br>
from django.contrib.auth.models import User
from taggit.managers import TaggableManager
class BaseUser(models.Model):
class Meta:
abstract=True
first_name=models.CharField(max_length=100)
skills=TaggableManager()
class UserProfile(BaseUser):
user=models.ForeignKey(User,unique=True)
class TutoringSession(models.Model):
title=models.CharField(max_length=100,blank=False)
slug=models.SlugField(max_length=250,unique=True,blank=False,editable=False)
tags=TaggableManager()
或者,是它更好地使用一個標籤類:
class Tags:
name=models.CharField(max_length=100, blank=False, unique=True)
,併成立兩個TutoringSession和用戶配置一個多對多的關係呢?
謝謝!
我要指出,這是關係到一個問題: What benefit does Django-Taggit provide over a simple ManyToManyField() implementation of tagging?
除了在這個例子中,我們可能希望限制該允許答案紅色和紫色(我們在一個表中,因爲已經定義的它可能會改變)