2010-11-27 10 views

Respuesta

7

Haz otro modelo que contenga una cadena con un orden opcional, dale un ForeignKey de vuelta a myClass, y almacena tu matriz allí.

+7

¿No es bastante ineficiente? – Andrew

+0

Si nunca tiene que preocuparse por lo que son las cuerdas, seguro. Tan pronto como te importe, vas a querer más estructura. –

9

Puede usar algún mecanismo de serialización como JSON. Hay un fragmento de la definición de campo que podrían ser de alguna utilidad para usted:

http://djangosnippets.org/snippets/1478/ (echar un vistazo al código en el último comentario)

Con tal campo puede perfectamente poner cadenas en una lista y asignarlos a tal campo. La abstracción del campo hará el resto. Lo mismo con la lectura.

+0

A menudo uso datos serializados de JSON: tenga en cuenta que es un SQL Antipattern http://www.pragprog.com/titles/bksqla/sql-antipatterns, aunque hay algunos usos legítimos. –

4

Puede utilizar cPickle ...

class myClass(models.Model): 
    title = models.CharField(max_length=50) 
    stringArr = models.TextField() 

from cPickle import loads, dumps 
data = [ { 'a':'A', 'b':2, 'c':3.0 } ] 
obj = Myclass.objects.get(pk=???) 
# pickle data into a string-like format 
obj.stringArr = dumps(data) 
obj.save() 
# restore original data 
data = loads(obj.stringArr) 
+1

También puede generalizar esto a PickleField, o usar el de pypi: http://pypi.python.org/pypi/django-picklefield/ –

Cuestiones relacionadas