簡體   English   中英

使用django-taggit,是否可以將標簽限制為預先批准的值?

[英]Using django-taggit, is it possible to limit the tags to pre approved values?

我對django-taggit的使用有疑問。 我有一個UserProfile(我在設置文件中使用AUTH_PROFILE_MODULE附加),其中我為導師存儲了一組技能,例如:,等等。然后,當有人想要請求輔導會話時,他們可以寫一個什么的描述他們想要並為他們的請求放置標簽。 (例如,我想要一個精通微積分和物理學的導師)。 如果我讓網站的用戶選擇他們自己的標簽,那么我擔心我們最終會遇到“標簽地獄”,我們有標簽,如,等等。所以,我想標記技能,但只能從表格中當我們添加人員時,我會填充管理員。 這避免了擴散問題(類似於stackoverflow的工作方式)。

這是一些試用代碼:

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()

或者,使用Tags類更好:

class Tags:
     name=models.CharField(max_length=100, blank=False, unique=True)

並在TutoringSession和UserProfile中設置與它的ManyToMany關系?

謝謝!

我應該注意到這與問題有關: Django-Taggit對標記的簡單ManyToManyField()實現有什么好處?

除了在那個例子中,我們可能想要將允許的答案限制為紅色和紫色(我們在表中定義,因為它可能會改變)

因此,您需要一組預定義標記,用戶以及TutoringSessions應與這些標記中的一個或多個相關。 多數民眾贊成(據我所知)m2m-fields的用途。 也許taggit有一些可用性優勢(我不熟悉它),但這里描述的功能可以用簡單的m2m字段來實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM