使用Djangotaggit,是否可以将标记限制为预先批准的值?

2024-04-25 06:15:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于django taggit的使用的问题。我有一个UserProfile(我使用设置文件中的AUTH_PROFILE_模块将其附加在其中),在其中我为导师存储了一组技能,例如:,等等。然后,当有人想要申请辅导课程时,他们可以写下他们想要的内容的描述,并为他们的请求添加标签。(例如,我想要一个精通微积分和物理的导师)。如果我让网站的用户选择他们自己的标签,那么我担心我们可能会以“标签地狱”结束,我们有标签,例如,等等。所以,我想标记技能,但只从一个表,我填充在管理员,当我们添加人。这避免了扩散问题(类似于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类是否更好:

^{pr2}$

并在TutoringSession和UserProfile中建立一个manytomy关系?在

谢谢!在

我要指出的是,这与以下问题有关: What benefit does Django-Taggit provide over a simple ManyToManyField() implementation of tagging?

除了在这个例子中,我们可能希望将允许的答案集限制为红色和紫色(我们在一个表中定义了这个集合,因为它可能会改变)


Tags: djangofromimportfalsetruemodels技能taggit
1条回答
网友
1楼 · 发布于 2024-04-25 06:15:52

因此,您需要一组预定义的标记,用户和教程会话应该与这些标记中的一个或多个相关。这就是(据我所知)m2m油田的用途。 也许taggit有一些可用性优势(我不熟悉),但是这里描述的功能可以通过简单的m2m字段来实现。在

相关问题 更多 >