Make Discovery `external_key` Validation Not Distinguish Between Empty Keys

Description

We have some validation implemented on pre_save for curriculum memberships of courses to verify that nonempty external_keys attached to course runs are unique (at least within a curriculum). This validation sometimes fails (really spuriously) when an empty string is saved as external_key for a particular course run and compared against other course runs' NULL external_keys.

e.g. https://splunk.edx.org/en-US/app/search/search?q=search%20index%3D%22prod-edx%22%20source%3D%22%2Fedx%2Fvar%2Flog%2Fdiscovery%2Fedx.log%22%20%7C%20search%20%22admin%22&display.page.search.mode=fast&dispatch.sample_ratio=1&earliest=1578083690&latest=1578084590&sid=1578085405.957499

Let's make a code change in https://github.com/edx/course-discovery/blob/master/course_discovery/apps/course_metadata/signals.py#L136 to make sure we don't distinguish between various different python-falsey values.

Steps to Reproduce

None

Current Behavior

None

Expected Behavior

None

Reason for Variance

None

Release Notes

None

User Impact Summary

None

Assignee

Simon Chen

Reporter

Matthew Hughes

Reach

None

Impact

None

Platform Area

None

Customer

None

Partner Manager

None

URL

None

Contributor Name

None

Groups with Read-Only Access

None

Story Points

None

Actual Points

None

Category of Work

None

Platform Map Area (Levels 1 & 2)

None

Platform Map Area (Levels 3 & 4)

None

Priority

Unset
Configure