Ich habe dieses Modell Post von den Benutzern sparen:Aufschalten speichern Methodenliste in der viele zu viele Feld hinzufügen
class Tag(models.Model):
name = models.CharField(max_length=255, unique=True)
def add_tags(obj_id, body):
object = Post.objects.get(id=obj_id)
tag_list = [Tag.objects.create(name=word) for word in body.split()]
for tag in tag_list:
object.tags.add(tag)
class Post(models.Model):
user = models.ForeignKey(User)
body = models.TextField()
tags = models.ManyToManyField(Tag, blank=True)
pub_date = models.DateTimeField(default=timezone.now)
activity = GenericRelation(Activity, related_query_name="posts")
def save(self, *args, **kwargs):
super(Post, self).save(*args, **kwargs)
if self.body:
body = self.body
obj_id = self.id
add_tags(obj_id, body)
Also, wenn ein Benutzer Post etwas, würde ich prüfen möchte, ob es einen Hash ist Etikett innerhalb des Körpers verwendet. Wenn Tags vorhanden sind, rufen Sie die Tags in der Liste ab.
Aber wenn ich bin Entsendung werden die Tag-Objekte erstellt, aber sie sind nicht das Hinzufügen für die Post.tags Felder aus.
post.body Beispiel = Überprüfen Sie #von http://somesitedotcom/page#idtop #hell yeah!
Was mache ich hier falsch?
Pro-Tipp: Sie müssen nicht [bitte helfen Sie mir] hinzufügen müssen (https://stackoverflow.com/search?q=user%3A2634889+please+help+me) oder ähnlich, um alle Ihre Fragen. Es ist klar, dass Sie Hilfe benötigen, daher kann Füllmaterial dieser Art als Betteln interpretiert werden, und es wird oft von Editoren sowieso getrimmt. – halfer
@halfer Ok, verstanden. Vielen Dank. – Robin