Can a dictionary be passed to django models on create?

后端 未结 2 461
渐次进展
渐次进展 2020-12-04 05:42

Is it possible to do something similar to this with a list, dictionary or something else?

data_dict = {
    \'title\' : \'awesome t         


        
2条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-04 06:35

    Not directly an answer to the question, but I find this code helped me create the dicts that save nicely into the correct answer. The type conversions made are required if this data will be exported to json.

    I hope this helps:

      #mod is a django database model instance
    def toDict( mod ):
      import datetime
      from decimal import Decimal
      import re
    
        #Go through the object, load in the objects we want
      obj = {}
      for key in mod.__dict__:
        if re.search('^_', key):
          continue
    
          #Copy my data
        if isinstance( mod.__dict__[key], datetime.datetime ):
          obj[key] = int(calendar.timegm( ts.utctimetuple(mod.__dict__[key])))
        elif isinstance( mod.__dict__[key], Decimal ):
          obj[key] = float( mod.__dict__[key] )
        else:
          obj[key] = mod.__dict__[key]
    
      return obj 
    
    def toCsv( mod, fields, delim=',' ):
      import datetime
      from decimal import Decimal
    
        #Dump the items
      raw = []
      for key in fields:
        if key not in mod.__dict__:
          continue
    
          #Copy my data
        if isinstance( mod.__dict__[key], datetime.datetime ):
          raw.append( str(calendar.timegm( ts.utctimetuple(mod.__dict__[key]))) )
        elif isinstance( mod.__dict__[key], Decimal ):
          raw.append( str(float( mod.__dict__[key] )))
        else:
          raw.append( str(mod.__dict__[key]) )
    
      return delim.join( raw )
    

提交回复
热议问题