π chating κΈ°λ₯ λ§λλλ° μ²μ λ³Έλ€
μ°Ύμλ΄€λλ μμ² κ°νΈν κΈ°λ₯μ΄λ€.
SlugRelatedField λ λμμ νλλ₯Ό μ¬μ©νμ¬ κ΄κ³μ λμμ λνλ΄λ λ° μ¬μ©ν μ μλ€.
ex)class AlbumSerializer(serializers.ModelSerializer): tracks = serializers.SlugRelatedField( many=True, read_only=True, slug_field='title' ) class Meta: model = Album fields = ['album_name', 'artist', 'tracks']
result
{ 'album_name': 'Dear John', 'artist': 'Loney Dear', 'tracks': [ 'Airport Surroundings', 'Everything Turns to You', 'I Was Only Going Out', ... ] }
λμ μ½λ
class MessageSerializer(serializers.ModelSerializer): sender = serializers.SlugRelatedField(many=False, slug_field='username', queryset=User.objects.all()) receiver = serializers.SlugRelatedField(many=False, slug_field='username', queryset=User.objects.all()) class Meta: model = Message fields = ['sender', 'receiver', 'message', 'timestamp']
π django db μ€κ³μ€ ν΄λΉ μλ¬λλ¬Έμ μ€νμ΄ μλκ² μμλ€. μ΄μ λ μλ‘ λ€λ₯Έ νμΌμ modelμμ μλ‘ import νμκΈ° λλ¬Έμ΄λ€.
# test1.py import test2 print('test1')
# test2.py import test1
μ μ½λμμ test1.pyλ₯Ό μ€ννλ©΄ μ΄λ»κ² λ κΉ?
test1μ΄ λλ²μ΄ μ°νλ κ²μ λ³Ό μ μλ€.
μλ‘ import νμ¬ test2λ₯Ό κ°μ Έμ€κ³ test2λ test1μ μ€νμν€λ κ²μ΄λ€νμ¬ model κ°μ μλ‘ import λ₯Ό νκ² λλ©΄ Errorκ° λ°μνλ€.
- ν΄κ²° λ°©λ²
hobby = models.ForeignKey('workshops.Hobby', on_delete=models.CASCADE)
νμͺ½μμλ§ importλ₯Ό μννκ³ λ€λ₯Έ νμͺ½μμλ μμ κ°μ΄
'(app_name).(table_name)' κ³Ό κ°μ λ°©μμΌλ‘ μ μ΄μ£Όλ©΄ μ λλ‘ migrateκ° μνλλ€.