The tags field is currently exposed as a string field through the API. I think we should change it to be a list of strings even if the underlying ORM implementation still uses a CharField. This way, clients using the API don’t have to share a common delimiter when splitting the string into a list of strings.
If we want to change the ORM field that is used I suggest we use a JSONField, which is included in Django, has widespread database support and can be queried if that need should arise.
Please do not edit finalized spec anymore, as discussed in the last Team Meeting. AEP05 got shipped with alpha-2 and should not change it's Done state anymore. Please compare the Roadmap for reference. Why not describing the changes here in the ticket? It's also confusing, when we discuss changes in the tickets, while the actual implementation suggestion is mixed with other stuff somewhere else.
I'm gonna remove any additions from AEP05 now. Here is a backup of your suggestion:
Note
Das Feld tags (TextField) wird in ein JSONField umgewandelt.
The associated migration breaks on my system. I think it’s because it simply converts the existing tagsTEXT column to JSON without doing any data migration beforehand. This fails because the old tags column contains arbitrary strings like "foo, bar, baz" that are not valid JSON.
IMHO it should:
rename the tags column to tags_old (migrations.RenameField)
add the new JSONtags column (migrations.AddField)
for each note: set tags to tags_old.split(',') (migrations.RunPython)