У меня есть вопрос об использовании 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)
и установить отношение ManyToMany к нему в TutoringSession и UserProfile?
Спасибо!
Должен отметить, что это связано с вопросом:
Какие преимущества дает Django-Taggit по сравнению с простой реализацией тегов ManyToManyField ()?
за исключением того, что в этом примере мы могли бы захотеть ограничить набор разрешенных ответов красным и фиолетовым (который мы определили в таблице, потому что он может измениться)