Как я могу проверить, содержит ли название модели моего общества идентификатор города или нет?
Я хочу проверить, содержит ли название моего общества идентификатор города и населенного пункта или нет.
Первый Я хочу итерировать каждое название общества и получить id города по id населенного пункта и проверить, добавлено ли название города в конце названия общества или нет, если да, то обновить все названия обществ, удалив название города.
.Секунда Затем снова я хочу итерировать каждое название общества и получить идентификатор населенного пункта и проверить, добавлено ли название населенного пункта в конце названия общества или нет, если да, то обновить все названия обществ, удалив название населенного пункта.
.
society.py
class Society(models.Model):
name = models.CharField(max_length=255, blank=True, null=True)
created_at = models.DateTimeField(db_column='createdAt', auto_now_add=True) # Field name made lowercase.
updated_at = models.DateTimeField(db_column='updatedAt', auto_now=True) # Field name made lowercase.
locality = models.ForeignKey('Locality', models.DO_NOTHING, db_column='localityId', blank=True, null=True, related_name='society_set') # Field name made lowercase.
dot_com_database_id = models.IntegerField(db_column='dotComDatabaseId', blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'societies'
locality.py
class Locality(models.Model):
name = models.CharField(max_length=255, blank=True, null=True)
created_at = models.DateTimeField(db_column='createdAt', auto_now_add=True) # Field name made lowercase.
updated_at = models.DateTimeField(db_column='updatedAt', auto_now=True) # Field name made lowercase.
city = models.ForeignKey('City', models.DO_NOTHING, db_column='cityId', blank=True, null=True, related_name='locality_set') # Field name made lowercase.
connect_database_id = models.IntegerField(db_column='connectDatabaseId', blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'localities'
city.py
class City(models.Model):
name = models.CharField(max_length=255, blank=True, null=True)
created_at = models.DateTimeField(db_column='createdAt', auto_now_add=True) # Field name made lowercase.
updated_at = models.DateTimeField(db_column='updatedAt', auto_now=True) # Field name made lowercase.
currency = models.CharField(max_length=255, blank=True, null=True)
connect_database_id = models.IntegerField(db_column='connectDatabaseId', blank=True, null=True) # Field name made lowercase.
dot_com_database_name = models.CharField(db_column='dotComDatabaseName', max_length=255, blank=True, null=True) # Field name made lowercase.
location_master_request_url = models.CharField(db_column='locationMasterRequestUrl', max_length=255, blank=True, null=True) # Field name made lowercase.
country = models.ForeignKey('Country', models.DO_NOTHING, db_column='countryId', blank=True, null=True, related_name='city_set') # Field name made lowercase.
pms_operation_status = models.CharField(db_column='pmsOperationStatus', max_length=255, blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'cities'
Помогите пожалуйста!!! Я искал решение много дней, но так и не нашел.
Заранее спасибо!
Это должно помочь вам:
for s in societies:
locality = s.locality.name
city = s.locality.city.name
# search for locality name in society name
res = s.name.find(locality)
If res != -1:
len_of_name = len(locality)
new_name = s.name[:res]+s.name[res+len_of_name:]
s.name = new_name
# search for city name in society name
res = s.name.find(city)
If res != -1:
len_of_name = len(city)
new_name = s.name[:res]+s.name[res+len_of_name:]
s.name = new_name
s.save()