Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. from django.db import models
  2. from json import dumps, decoder
  3.  
  4. # Create your models here.
  5.  
  6.  
  7.  
  8. class Category(models.Model):
  9. name_obj = models.CharField(max_length=255)
  10.  
  11.  
  12. class Brand(models.Model):
  13. name_obj = models.CharField(max_length=255)
  14.  
  15. def __str__(self):
  16. return f'{self.name_obj} (id:f{self.id})'
  17.  
  18.  
  19. class Color(models.Model):
  20. name_obj = models.CharField(max_length=255)
  21.  
  22.  
  23. class Url(models.Model):
  24. name_obj = models.CharField(max_length=255)
  25.  
  26.  
  27. class Product(models.Model):
  28. '''
  29. Результаты которые будут получены от скрапи многие в
  30. типа list и нужно их переформатировать прежде чем
  31. записывать в базу.
  32.  
  33. Варианта было два. И я реализовал оба.
  34. 1) Запись в базу списка как строка.
  35. 2) Где объекты повторяются связь
  36. many-to-many
  37. '''
  38. category = models.ManyToManyField(Category)
  39. brand = models.ManyToManyField(Brand)
  40. brand_model = models.CharField(max_length=255)
  41. color = models.ManyToManyField(Color)
  42. size = models.CharField(max_length=255) #json<->string
  43. imgs = models.TextField()
  44. description = models.TextField() #func set_desc
  45. link_to_product = models.ForeignKey(Url, on_delete=models.CASCADE)
  46.  
  47. def list_to_string(self, value):
  48. return dumps(value)
  49.  
  50. def string_to_list(self, value):
  51. Decoder = decoder.JSONDecoder()
  52. return Decoder.decode(value)
  53.  
  54. def set_description(self, array):
  55. return ''.join(array)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement