Benim models.py
dosya içerir:Django on_delete = models.CASCADE SQL seviyesinde herhangi bir etkisi yoktur
class User(models.Model):
email = models.CharField(max_length=100, unique=True)
password = models.CharField(max_length=100)
create_time = models.DateTimeField(auto_now_add=True)
class Session(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
token = models.CharField(max_length=100, unique=True)
i python manage.py makemigrations
komuta ve ardından "= ON DELETE CASCADE" python manage.py sqlmigrate <app_name> <migration_name>
i diyor bir şey görmüyorum
python manage.py migrate
yazdığınızda
Ancak göçler arızasız çalışır. Şimdi
i (SequelPro kullanarak) ve halen bir oturum girişi olan bir kullanıcı için bir satır silmeye MySQL tabloya giderseniz, ben aşağıdaki hatayı alıyorum: ". Tek satır kaldırılmadı yükle Bu arada içeriğin değişmediğinden emin olmak için tabloyu kullanın. Bu tablonun birincil anahtar (lar) ı içindeki olası hatalar için Konsolu kontrol edin! ". i oturumu masaya giderek kullanıcıyı tablodan kullanıcının satırını silmeye sonra bu kullanıcının oturumları silmek ve ne zaman
Şimdi, düzgün siler. Bu, ON DELETE = CASCADE
'un aslında MySQL düzeyinde çalışmadığını gösterir.
Nasıl düzeltebilirim? docs (vurgu mayın) Gönderen
Böyle bir bummer :( –