Ceci est mon actuelle Interface Admin: Comment afficher les objets dans Django InLine interface d'administration
Un texte des entrées utilisateur via un formulaire modèle & appelé « UserText ». J'ai écrit une fonction en utilisant NLP pour extraire uniquement les questions de l'UserText. Je voudrais que chacune de ces questions individuelles soit affichée dans chaque section "Question utilisateur" de l'interface d'administration. À partir de maintenant, je ne peux pas faire fonctionner ça.
Voici mon code actuel:
Models.py
class UserText(models.Model):
user_input = models.TextField()
class Question(models.Model):
user_text = models.ForeignKey(
UserText,
on_delete=models.CASCADE,
blank=True,
null=True,
)
user_questions = models.CharField(max_length=2000)
Views.py
def user_text_view(request):
form = forms.UserTextForm()
if request.method == 'POST':
form = forms.UserTextForm(request.POST)
if form.is_valid():
UserText = models.UserText
Question = models.Question
user_input = request.POST.get('user_input', '')
user_input_obj = UserText(user_input = user_input)
user_questions_obj = Question(user_text = user_input_obj,
user_questions = Question_Init(user_input_obj))
user_input_obj.save()
user_questions_obj.save()
print("Thanks for the questions!")
else:
form = forms.UserTextForm()
return render(request, 'text_input_form.html', {'form': form})
Admin.py
class QuestionInLine(admin.StackedInline):
model = Question
display = ('user_questions_obj')
@admin.register(UserText)
class UserTextAdmin(admin.ModelAdmin):
model = UserText
display = ('user_input')
inlines = [
QuestionInLine,
]
Et enfin ma fonction:Je sais que c'est beaucoup, désolé, mais je ne sais pas comment obtenir chaque question pour remplir les champs de la question dans mon interface d'administration. Merci
Daniel Roseman ... vous m'avez sauvé la vie! Merci beaucoup lol, je n'aurais jamais compris ça. Peut-être dans quelques semaines, mais quand même, merci l'homme. Pour une raison quelconque, chaque question est sauvegardée deux fois. Voyez-vous des erreurs dans mon code qui pourraient causer cela? – jblew
Bien sûr; il est possible (et même probable) que les deux conditions de votre fonction soient vraies, c'est-à-dire que la phrase commence par un mot de question et se termine par un point d'interrogation. Soit 'else' avant la seconde if, ou mettez les deux conditions dans la même instruction if avec un ou:' if phrase.startswith (Beginning_Question_Prompts) ou sentence.endswith (Ending_Question_Prompts): ' –
Cela a fait l'affaire! Merci Daniel – jblew