-
Web Dev Bootcamp TIL Day-46(Django Reverse Lookup)TIL 2022. 6. 17. 19:27
- The dir() method returns the list of valid attributes of the passed object.
number = [12] # returns valid attributes of the number list print(dir(number)) # Output: ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
- attributes are created when we create new attributes
- objects that are in a many-to-many relationship contain attributes that can return a queryset of related object
# models.py class User(AbstractBaseUser): ... class Hobby(models.Model): ... class UserProfile(models.Model): user = models.OneToOneField(User) hobby = models.ManyToManyField(Hobby, related_name="userprofile") ... # views.py user = User.objects.get(id=obj_id) hobby = Hobby.objects.get(id=obj_id) print(dir(user)) print(dir(hobby)) # result dir(user) print """ [..., userprofile, ...] """ # result dir(hobby) print """ [..., userprofile_set, ...] """ # notice that user and UserProfile have a one-to-one relationship # ----> user.userprofile # ----> Object is returned # on the other hand, hobby and UserProfile are in a many-to-many relationship # ----> hobby.userprofile_set # ----> Queryset is returned ... we can also use hobby.userprofile.all() # there can be multiple ForeignKeys for a given table, so a queryset is called when FK is used
django.db.utils.IntegrityError: NOT NULL
--> this is a very common error for beginners. It means that you have a field that is null=False (aka the default) and you're trying to create that model WITHOUT that field having any data.
'TIL' 카테고리의 다른 글
[Python] Higher-Order Functions (0) 2022.06.19 Web Dev Bootcamp Day TIL Day-47(DRF Serializers) (0) 2022.06.18 Web Dev Bootcamp TIL Day-45(DRF CBV & Custom User Model) (0) 2022.06.17 [Python] Mutable vs Immutable, DB Key Types, Queryset vs Object (0) 2022.06.15 Web Dev Bootcamp TIL Day-36(Django MySQL: many-many. query & csv -> json) (0) 2022.06.07